Как мне перевести это назначение VB.NET на C #? - PullRequest
0 голосов
/ 06 сентября 2011

Я обычно программирую в VB.NET, но пытаюсь использовать C #.

В VB.NET, если form1 имеет toolStripButton1, а в UserControl я обычно пишу так:

Dim first As New form1
first.toolStripButton1.enable = False

Но в C # я пытаюсь:

private void MyNameMethod() {
    Form1 first = new Form1();
    first. ???????

, но это не работает.Как мне перевести приведенный выше код VB.NET?Я не могу выбрать toolStripButton1.

Ответы [ 3 ]

2 голосов
/ 06 сентября 2011

Убедитесь, что toolStripButton1 на самом деле включено Form1 и установлено на public.

0 голосов
/ 06 сентября 2011
first.toolStripButton1.enable = false;

Экземпляр - first, form1 - имя класса.

0 голосов
/ 06 сентября 2011

Открыть Form1.Designer.cs [это класс по умолчанию, может быть легко найден из окна решения, под Form1]

В конце Form1.Designer.cs перечислены элементы управления (как частные элементы управления), измените свой элемент управления на общедоступный, к которому вы хотите получить доступ.

Чем в cs файле вашего UserControl добавить следующие коды:

private Form1 myForm;
public void AssignForm(Form1 _myForm)
{
    myForm = _myForm
}

private void AccessControl()
{
    myForm.myButton.Enable = ! myForm.myButton.Enable;
}

Откройте ваш файл Form1.cs и функцию AssignForm, чтобы ваш UserControl мог получить доступ к вашей основной форме. Поместите этот код в ваш Form1-конструктор:

public Form1()
{
     InitializeComponent();
     myUserControl1.AssignForm(this);
}

Это один из простых способов получить доступ к элементам управления Form1.

...