使用C#的第一个WP程序
今天使用C#完成第一个hello world 的程序,但是为了让程序看起来不那么单调,所以增加了自动变色的代码.
首先,先放出来程序的截图




点击开始的时候,hello world 会自动变色.
这里用到的东西也比较简单
主要的知识点是使用委托.
在整个变色过程中是,是不能再UI线程中进行的,这样会阻塞UI线程,造成卡顿,这不是我们想要的效果,这时候我们就应该使用委托来完成
下面贴出代码
//委托对象
DelegateTest delegateObject;
delegate void DelegateTest(int i);
/// <summary>
/// 按钮点击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Button_Click(object sender, RoutedEventArgs e)
{
delegateObject = SetColor;
Thread thread = new Thread(ChangeColorThread);
thread.Start();
}
/// <summary>
/// 修改颜色线程
/// </summary>
public void ChangeColorThread()
{
for (int i = 0; i < 100; i++)
{
//调用委托
this.Dispatcher.BeginInvoke(delegateObject, i);
//一秒钟变换一次
Thread.Sleep(1000);
}
}
public void SetColor(int i)
{
Random r = new Random();
//取随机数
int col = r.Next(0, 5);
//调用方法根据不同的数字更新不同的颜色
Title.Foreground = new SolidColorBrush(GetColorValue(col));
}
public void UpdateColor()
{
//循环100次
for (int i = 0; i < 100; i++)
{
this.Dispatcher.BeginInvoke(delegateObject, i);
Thread.Sleep(1000);
//睡眠1秒
}
}
/// <summary>
/// 该方法可以用来获取颜色
/// </summary>
/// <param name="i"></param>
/// <returns></returns>
public System.Windows.Media.Color GetColorValue(int i)
{
switch (i)
{
case 0:
return Colors.Blue ;
case 1:
return Colors.Brown;
case 2:
return Colors.Cyan;
case 3:
return Colors.Green;
case 4:
return Colors.Red;
default:
return Colors.Orange;
}
}
详细的代码已经贴出俩了,内容比较简单,我个人很喜欢使用C#做开发,因为C#的开发速度很快,VS更是号称宇宙第一IDE,有着强大的功能,可以让开发者有更高的开发速度.

浙公网安备 33010602011771号