2014-09-05 2 views
-3

У меня есть форма окна. У меня появилось несколько текстовых полей, мне нужно выбрать два текстовых поля и сохранить их значения временно, затем нажать кнопку и сравнить их.Как сохранить значение текстового поля при нажатии

Как это сделать, это C# Visual Studio?

Я могу выбрать поля, но как сохранить их значение?

EDIT

я могу нажать и два элемента управления, как два текстовых и так далее, и выделить их. защищенная пустота 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 == верно.

+0

Это довольно простая задача. Что вы пробовали? Показать код здесь. – Hassan

+2

Звучит не сложно. Вы пробовали _anything_, чтобы решить эту проблему? –

+0

Где вы хотите его купить? – AxdorphCoder

ответ

1

Для начала я собираюсь предположить, что вы можете создать событие нажатия кнопки, после чего оно должно стать прямым.

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

Вам не нужно временно сохранять значения, поскольку вы можете напрямую обращаться к содержимому текстового поля. Вы могли бы создать локальные переменные в этом методе, которые достигли бы того же самого, но его довольно расточительно.

Дополнительную информацию о некоторых вещах, используемых в этом методе, можно найти в документации по MSDN.

TextBox

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

Спасибо за помощь, так что да, я знаю, как создать кнопку, но мне не нужно предварительно определять текстовые поля, которые я сравниваю, я выбираю их из интерфейса, я выбираю их, и я могу видеть, что я выбрал потому что я их цвет, а оттуда я сравниваю, этот код все еще применим для этого? – MAL

+0

@MAL - Что вы имеете в виду, что вы их цветете? вы устанавливаете их цвета фона? – Sayse

+0

да, когда выбрано, я цвет их, поэтому я знаю, что я выбрал – MAL

Смежные вопросы