2009-05-06 25 views

ответ

0

Предполагая, что formB инициализируется в форме A, я бы рекомендовал добавить строку в конструктор формыB, отправив Texbox1.Текст

как в

class formB: Form{ 
    private string data; 
    public formB(string data) 
    { 
     InitializeComponent(); 
     this.data = data; 
    } 
    //rest of your code for the class 

} 
2

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

public static class Application 
{ 
public static MyForm MyFormInstance { get; set; } 
} 

Затем, когда вы запускаете первую форму, установите свойство приложения MyFormInstance к экземпляру первой формы.

MyForm instance = new MyForm(); 
Application.MyFormInstance = instance; 

Добавить объект во вторую форму.

public String MyText 
{ get { return textbox1.Text; } 
    set { textbox1.Text = value; } 
} 

И тогда вы можете получить доступ к нему из вашей второй формы с:

Application.MyFormInstance.MyText 
+1

Ладно, проще всего было бы отметить Modifier свойство текстового поля как Public, то вы можете получить доступ к нему напрямую, но вам все равно нужен способ, чтобы получить к экземпляру , –

1

На форме, которая имеет текстовое поле вам нужны данные, разоблачить либо свойство или метод, который возвращает текст. IE:

internal string TextBoxTest 
{ 
    get{ return this.textBox1.Text;} 
} 
+0

, так как я могу вызвать этот метод из формы, в которой я хочу выполнить мой оригинальный метод? – Goober

0

Не делайте этого.

Более длинная версия: Почему ваш вид напрямую взаимодействует с другим видом?

Намного более длинная версия:

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

Следует тщательно изучить местоположение заинтересованного метода - если он контролирует аспекты вида (WinForm, в вашем случае), то он может быть соответствующим членом этого класса, если нет, возможно, его реальный дом находится в объект данных?

1

Существует аналогичный пост here

видео ниже прояснится много ваших понятий о передаче данных между 2 формами.

Есть несколько способов передачи данных между 2 формами проверить эти ссылки, которые есть пример видео, чтобы сделать это

HTH

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