2012-11-19 3 views
0

У меня есть приложение windows C#, содержащее меню и панель док-станции. если щелкнуть по любому элементу в меню, на панели док-станции появится формаполучить значение текстового поля из другой формы

есть форма для книг, содержащая текстовое поле поиска.

в меню есть пункт с именем (сохранить), используемое для сохранения макета для другого использования, и открытые формы по-прежнему открывается в доке-панели в виде вкладок после сохранения компоновки

Примечания: пользователь может открыть та же форма несколько раз


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


любая помощь?

+0

WinForms или WPF? Какая модель? Можем ли мы увидеть какой-то код, пожалуйста? –

ответ

0
List<String> texts = new List<String>(); 
foreach(Form form in Application.OpenForms){ 
    if (form.Name == "bookForm"){ 
     TextBox textbox= form.Controls[<your textbox namr>] as TextBox; 
     texts.Add(textbox); 
    } 
} 

, то вы можете использовать этот список текстов, как вы можете

+0

, это настоящий мужчина :) –

0

Добавить публичное свойство, которое действует как обертка для свойства Text текстового поля поиска.

public string SearchString 
{ 
    get { 
     return searchTextbox.Text; // Where the searchTextbox is id of the textbox 
    } 
} 

На этом этапе можно ссылаться на экземпляр формы.

0

Добавить функцию на главной форме, чтобы установить значение переменной:

private void My_method(string value) 
    {   
     your_variable = value;    
    } 

Теперь при открытии вашего BookForm пройти основную форму в качестве параметра конструктору формы книги, как эта

Main_Form _fd; 
public BookForm(Main_form fd) 
    { 
     InitializeComponent(); 
     _fd = fd; 
    } 

Теперь вы можете вызвать функцию MainForm из любого места в этой форме, как: -

_fd.My_method(searchtextBox.text); 

Теперь пользователю не нужно открывать и закрывать форму снова и снова! Надеюсь, это поможет вам!

+0

это не совпадает, так как пользователь может открыть форму книги несколько раз в то же время –

+0

@ danny-london - что вы имеете в виду по той же форме в своем вопросе? Книжная форма или Основная форма? И вы говорите, что пользователь может открыть ту же форму более чем в одном экземпляре? – Sunny

+0

Я имею в виду, что пользователь может открыть более одной книжной формы в основной форме –

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