我有一个窗口表格。我出现了一些文本框,我需要的是选择两个文本框并临时保存它们的值,然后按一个按钮并进行比较。
如何做到这一点是C#Visual Studio?
我可以选择这些方框但是如何保存它们的价值呢?
修改
我可以点击两个控件,比如两个文本框等,然后突出显示它们。 protected void OnPaint(对象发送者,PaintEventArgs e) { System.Drawing.Rectangle selectionRectangle = this.ClientRectangle;
var borderColor = Color.Tomatoe;
var borderStyle = ButtonBorderStyle.Dashed;
if (this.Selected == true)
{
ControlPaint.DrawBorder(
e.Graphics,
borderStyle
);
}
}
void Rectangle_MouseClick(object sender, MouseEventArgs e)
{
this.Select();
}
public override void SetColor(System.Drawing.Color color)
{
this.textBox1.BackColor = color;
}
我按下按钮来比较所选控件,我需要创建一个获取当前控件状态的方法,然后比较具有this.Selected == true的选定值。
答案 0 :(得分:1)
首先,我假设您可以从那里创建一个按钮点击事件,它应该是直接的。
private void buttonWithAGoodDescriptiveName_click(object s, EventArgs e)
{
if(textboxWithDescriptiveName.Text == otherTbWithGoodName.Text)
MessageBox.Show("woo it worked");
else
MessageBox.Show("Doh!");
}
您无需临时保存值,因为您可以直接访问文本框的内容。你可以在这个方法中创建局部变量来实现同样的目的,但它非常浪费。
您可以使用MSDN文档找到有关此方法中使用的一些内容的更多信息。
您可以使用以下
搜索特定颜色的控件var controls = this.Controls
.OfType<TextBox>()
.Where(tb => tb.BackColor == Color.Red)
.ToList();
if(controls.Count > 1)
if(controls.Skip(1).All(c => c.Text == controls.First().Text)
MessageBox.Show("woo");
假设您已将所选属性添加到您自己的文本框类覆盖中,则可以将控制变量更改为此。
var controls = this.Controls
.OfType<MyTextBox>()
.Where(tb => tb.Selected)
.ToList();