Member 13052920 Ответов: 1

Как отключить кнопку на второй форме, нажав кнопку на первой форме


Я хочу отключить кнопку на второй форме, нажав кнопку на первой форме, можно ли это сделать? Я новичок на c# спасибо, что поняли меня, и извините, если я не получил вашего объяснения и какой код мне нужно поставить или что-то, что я должен поставить на свои коды, чтобы выполнить это.

Что я уже пробовал:

До сих пор ничего не сделал, потому что я не знаю, что поставить им Новичок

1 Ответов

Рейтинг:
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.