Рейтинг:
1
RickZeeland
Это возможно, но вам придется изменить область действия свойства button на Public
, например, в конструкторе форм. Тогда вы можете сделать это:
Form2.Button1.Enabled = False;
Конечно, есть и другие, более сложные способы ...
Хорошо, я расскажу немного подробнее:
private void button1_Click(object sender, EventArgs e)
{
var form2 = new Form2();
// The 'Modifiers' property of button2 has been set to Public in the Forms designer.
form2.button2.Enabled = false;
form2.Show();
}
Или если вам нужно изменить кнопку во время использования Form2:
public partial class Form1 : Form
{
Form2 form2 = new Form2();
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
form2.Show();
}
private void buttonDisable_Click(object sender, EventArgs e)
{
// The 'Modifiers' property of button2 has been set to Public in the Forms designer.
form2.button2.Enabled = false;
}
}
Afzaal Ahmad Zeeshan
Правильный.
Но неправильно, поле Button1 должно быть статичным, если это должно работать, иначе оно не будет работать. Поэтому, пожалуйста, добавьте это к ответу, и у вас будет 5. :-)
RickZeeland
Каждый имеет право иметь свое собственное мнение о том, что правильно, а что нет ...
Afzaal Ahmad Zeeshan
Конечно. :-)
RickZeeland
Но некоторые более праведны, чем другие ...
RickZeeland
Привет, Афзаал, я добавил немного кода, чтобы проиллюстрировать, что я имею в виду, вы увидите, что он работает без использования статики.
Это была одна из первых проблем, с которой я столкнулся при переходе с VB на C# давным-давно, мне потребовалось некоторое время, чтобы привыкнуть !
Afzaal Ahmad Zeeshan
Именно так. Это было моей главной мыслью. Теперь вы можете видеть, что вы не используете статику, но вы также не используете Form2
но form2
- есть разница. Кроме того, сначала нужно будет активировать форму 1, а затем форму 2, чтобы получить экземпляр второй формы... И так далее, и тому подобное... :смеяться:
В любом случае, я вернул тебе 5.