private void Button_Click(object sender, RoutedEventArgs e){
Button btn = (Button)sender;
if(/*insert if condition here*/)
{
cntr = 1;
void1();
}
}
我目前正在开发一个C#Windows商店应用。 我有一个TextBlock,可以有红色,橙色,黄色,绿色,蓝色,靛蓝色或紫罗兰色的文本。我还有七个不同背景颜色的按钮。现在,我想检查我的TextBlock的文本是否与点击的按钮的背景颜色相匹配。
答案 0 :(得分:0)
尝试btn.BackColor.ToString()== textblock.Text进行比较
答案 1 :(得分:0)
所以我做了一个快速的程序,看看这是否会起作用。只需按照说明进行更改即可。当你查看这段代码时,只做一件事。尝试并了解每条线路的作用。
private void btn2Control_Click(object sender, EventArgs e)//This button color is Control
{
if (label1.BackColor == button2.BackColor)//You are going to want to substatut your label name for label1
{
Console.WriteLine("Here");//This was just to make sure the program did match the colors
}
}
private void btn1Yellow_Click(object sender, EventArgs e)//This button color is Yellow
{
if (label1.BackColor == button1.BackColor)
{
Console.WriteLine("Here");
}
}
答案 2 :(得分:0)
由于您使用的是WPF,因此需要使用以下属性
TextBlock.Foreground
(documentation)Control.Background
(documentation)我不打算编写逻辑,因为它不是你要真正想要的,但是你需要做的是在TextBLock
中应用当前的前景颜色并将其与使用上述属性点击按钮Background
。
ex:IF
比较的代码
if(TextBlock.Foreground == btn.Background){
// Color matching
// Do things here
}
答案 3 :(得分:0)
private void Button_Click(object sender, RoutedEventArgs e){
Button btn = (Button)sender;
if(button.Background == textBlock.TextBlock)
{
cntr = 1;
void1();
}
}
答案 4 :(得分:0)
使用 BrushConverter 实例将文本块的文本转换为画笔对象,然后将该画笔与按钮的背景进行比较。
一些示例XAML:
<StackPanel>
<TextBlock x:Name="MyTextBlock" Text="Red" />
<Button Content="Blue" Background="Blue" Click="OnColorButtonClick" />
<Button Content="Red" Background="Red" Click="OnColorButtonClick" />
<Button Content="Green" Background="Green" Click="OnColorButtonClick" />
<Button Content="Yellow" Background="Yellow" Click="OnColorButtonClick" />
</StackPanel>
...和按钮处理程序代码(请注意,示例中的所有按钮都使用相同的单击处理程序):
private void OnColorButtonClick(object sender, RoutedEventArgs e)
{
var converter = new BrushConverter();
var textblockBrush =
converter.ConvertFromString(MyTextBlock.Text) as Brush;
var button = (Button) sender;
if (button.Background == textblockBrush)
{
// text of my TextBlock matches the backgound color of the Button clicked
}
}