[英]How can I give a textBox in Xaml 4 random colors?
txtbKleuren.Foreground = new SolidColorBrush(Color.FromArgb(100,255,125,35)); 我有4个按钮,分别是红色,绿色,蓝色和黄色,以及一个文本块。 因此,当文本块上出现黄色时,我必须按黄色按钮以获取一个点。 如何使文本块随机提供4种颜色之一?
这是我的代码:
public MainPage()
{
this.InitializeComponent();
Random rand = new Random();
txtbKleuren.Foreground = new SolidColorBrush(Color.FromArgb(100, 255, 125, 35));
}
private void btnKleur4_Click(object sender, RoutedEventArgs e)
{
}
我不知道如何为文本框赋予随机颜色,所以我只是尝试了一些方法! 请帮帮我。 我真的很想知道! 对于我的英语不好,我深表歉意。
首先,我建议您将Random
变量声明为类成员变量,以便以后需要时可以访问它。 这是一个好习惯。 因此,将其放在任何方法/函数之外:
Random rand = new Random();
谈到这个问题,您可以先声明一组预定义的颜色(红色,蓝色,绿色和黄色):
Color[] colors = new Color[]
{
Colors.Red,
Colors.Blue,
Colors.Green,
Colors.Yellow
};
除了使用Colors.Yellow
等Colors.Yellow
,您还可以像在问题中一样定义自定义阴影。
接下来,使用rand
变量生成一个随机数(0到3之间)以用作数组的索引:
int randIndex = rand.Next(0, 4); // 0, 3 + 1 -> the Random.Next() function's upper bound is exclusive.
最后,获得您的随机颜色:
Color randColor = colors[randIndex];
txtbKleuren.Foreground = new SolidColorBrush(randColor);
或者,您甚至可以同时显示颜色的名称和相应的前景颜色:
Dictionary<string, Color> colors = new Dictionary<string, Color>()
{
{
"Red",
Colors.Red
},
{
"Blue",
Colors.Blue
},
{
"Green",
Colors.Green
},
{
"Yellow",
Colors.Yellow
}
};
var randColName = colors.ToArray()[randIndex];
txtbKleuren.Text = randColName.Key;
txtbKleuren.Foreground = new SolidColorBrush(randColName.Value);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.