单击时如何保存文本框的值

本文关键字:文本 保存 何保存 单击 | 更新日期: 2023-09-27 18:20:40

我有一个Window Form。我有一些文本框出现,我需要选择两个文本框并临时保存它们的值,然后按下按钮进行比较。

C#Visual Studio是如何做到这一点的?

我可以选择框,但如何保存它们的值?

编辑

我可以点击和两个控件,比如两个文本框等等,并突出显示它们。protected void OnPaint(对象发送器,PaintEventArgs e){System.Drawing.Rectangle selectionRectangle=此。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;
        }

我按下一个按钮来比较选定的控件,我需要创建一个方法来获得当前控件状态,然后比较具有此状态的选定值。选择==true。

单击时如何保存文本框的值

首先,我假设您能够创建一个按钮点击事件,它应该会变得直接。

private void buttonWithAGoodDescriptiveName_click(object s, EventArgs e)
{
    if(textboxWithDescriptiveName.Text == otherTbWithGoodName.Text)
        MessageBox.Show("woo it worked");
    else
        MessageBox.Show("Doh!");
}

您不需要临时保存这些值,因为您可以直接访问文本框的内容。您可以在这个方法中创建局部变量,这样可以实现同样的效果,但非常浪费。

您可以使用MSDN文档了解有关此方法中使用的某些内容的更多信息。

文本框

MessageBox

您可以使用以下搜索特定颜色的控件

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();