2015-09-03 3 views
1

У меня есть простой Form1.cs который включает в себя кнопку, текстовые поля и т.д. Я хотел бы Bulid нового класса и иметь возможность вызова кнопки и тестовые коробки из Form1.csПостроить новый класс

В новом классе, когда я печатаю, например, textbox. ничего не появляется. Что это самый простой способ сделать это?

Спасибо

+0

Вам нужен экземпляр 'Form1' в классе. –

+0

var form1 = new Form1(); from1.textbox. – Arash

+0

Форма в C# - это просто класс. Чтобы ссылаться на один класс от другого, вам нужно создать экземпляр другого класса. Когда у вас есть этот экземпляр, вы можете получить доступ к его публичным участникам. –

ответ

0

Вы должны попробовать

Form1.textbox 

или

Form frm = new Form1(); 
frm.TextboxName 

Где, как получить значения одной формы в другую форму, вы можете также отправить его через объекты. Если вы создаете класс значений, которые вы принимаете. и присваивать значения членам класса.

0

Для этого вам необходимо сделать несколько шагов.

Прежде всего, вам необходимо открыть элементы управления, к которым вы хотите получить доступ вне формы. Для этого в дизайнере выберите каждый элемент управления -> щелкните правой кнопкой мыши -> Свойства -> Модификаторы -> изменить выбор на Public;

Change control visibility.

Затем в своем классе, создать экземпляр Form1 и доступ к элементам управления нужно:

var form = new Form1(); 
form.TextboxName.Text = "some text"; 
+0

Я должен делать что-то неправильно. Я попробовал то, что вы сказали, и он не работает: я создал кнопки form1.cs +. то я добавляю новый класс и создаю экземпляр, но все же я не могу использовать кнопку из form1.cs. –

1

Вы можете передать экземпляр Form1 к новому классу. Самый простой способ - назначить его при инициализации. При создании нового экземпляра класса в то время как в Form1, а затем использовать это:

В Form1:

NewClass nc= new NewClass(this); 

С нового класса выглядит следующим образом:

public class NewClass 
{ 
    Form1 fm; 
    public NewClass(Form1 frm) 
    { 
     fm=frm; 
    } 

    void ChangeTextBox() 
    { 
     fm.YourTextBox.Text="Foo"; 
    } 

} 
0

создать новый экземпляр класса класс \ форма

var myForm = new Form2() 

затем использовать Myform затем вызовите управление от этого, таких как

myForm.TextBox1.Text = "your text here" 
Смежные вопросы