2012-01-05 5 views
0

У меня есть форма, содержащая кнопку Clear Button, usercontrol. Пользователь UserControl имеет текстовое поле и метки.Вызов общедоступного метода управления пользователем из родительской формы

При нажатии кнопки очистки кнопки в текстовом поле должны быть очищены.

Я написал открытый метод в классе userControl, который удаляет записи из текстового поля.

Как это назвать clear() метод от нажатия кнопки очистки от родительской формы?

ответ

0

ваш метод Clear() должно быть что-то вроде этого

//this method in the userControl 
public void Clear() 
{ 
    //Clear your text box 
    this.txtbox1.Text = string.Empty; 
    //Do other clean-up things if you want 
} 

теперь в своей родительской форме используйте имя пользователя userControl (вы должны добавить userControl в свою родительскую форму) и вызовите этот код, нажав кнопку event

private void button1_Click(object sender, EventArgs e) 
{ 
    //Call the Clear method from the UserControl 
    yourUserControlName.Clear(); 
} 

в противном случае, пожалуйста, поделитесь своим кодом.

+0

Это то, что именно делает мой код. Но изменения не отражаются на основной форме. Основная форма по-прежнему содержит старые значения в текстовом поле. –

+0

попытайтесь вызвать 'this.Refresh()' после метода 'clear()', плюс вы можете добавить 'this.Refresh()' в метод 'Clear()' self –

+0

отлично работает, спасибо большое –

0

Если у вас есть доступ к UserControl из родительской формы, которую вы должны иметь в любом случае, не должно быть никаких проблем с вызовом этой публичной функции. Я не уверен, как вы разработали свой код, но вы должны иметь возможность вызвать Общественные функции в Child Controls по мере необходимости.

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

+0

Открытый метод вызывается, но изменения происходят в основной форме. –

+0

@NIleshLanke: Не реализована ли публичная функция для очистки текстового поля UserControl? Не знаю, почему это происходит с основной формой. –

0

если это так же просто, как это звучит:

добавить действие на кнопке и Button1_Click появится

private void button1_Click(object sender, EventArgs e) 
    { 
     YourForm(); 
    } 
Смежные вопросы