我想創建使用C#窗體窗體應用程序的GUI。我在mainfrom中寫了一個方法。我在其中一個用戶控件中有兩個複選框。當複選框發生變化時,我需要在主窗體中引發該事件並運行我在mainfrom中編寫的方法。我怎樣才能做到這一點 ?。如何在主窗體中使用usercontrol複選框事件。
0
A
回答
0
在幫助中查找代表。您可以在控制檯中的主框中創建一個過程,將委託設置爲主過程中的過程,並調用複選框.checked。
一個警告的工作 - 把一個檢查委託不是空的(這意味着它沒有設置),否則你會得到一個錯誤。
0
public class MainForm : Form
{
public void YourMethod()
{
///
}
}
public class UserControl
{
private readonly MainForm _MainForm;
public UserControl(MainForm mainForm)
{
_MainForm = mainForm;
///add event for checkbox
}
private void Checkbox_Clicked(object Sender, EventArgs e)
{
_MainForm.YourMethod();
}
}
0
在用戶控件執行以下操作(例如,從我自己的自定義控制我做,它調整到你所需要的顯然:)):
public event EventHandler InnerDiagramCheckBox1CheckChanged;
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
if (InnerDiagramCheckBox1CheckChanged != null)
{
InnerDiagramCheckBox1CheckChanged(sender, e);
}
}
然後你就可以在主做什麼形成其負載或構造是:
instanceofyourcontrol.InnerDiagramCheckBox1CheckChanged+= new
System.EventHandler(nameofthefunctionyouwanttotriggerinthemainform);
您做些什麼這裏委派事件您的用戶控制:)
+0
我已經試過你的方法,但我在mainfrom加載錯誤,當我使用上面的代碼,如「usercontrol.InnerDiagramCheckBox1CheckChanged」是一個字段,但使用像一個類型。 – reddy
0
在用戶控件中創建一個委託並使其指向主窗體中的功能。爲usercontrol中的複選框創建OnCheckedChanged()事件,並在事件中調用委託方法。
看看這個例子
mainform.cs
mainform_load()
{
// Initialize user control delegate object to point the method in mainform
usercontrol1.method= Method1;
...
}
// method to call from usercontrol
public void Method1()
{
}
usercontrol1.cs
delegate void Method1()
public PointMyMethod method;
...
checkbox1_OnCheckedChanged()
{
// This calls the method in mainform
method();
}
...
希望它可以幫助
相關問題
- 1. 如何從usercontrol調用事件到主窗體
- 2. 在窗體中使用jstree複選框
- 3. 在Windows窗體中捕獲複選框單擊事件DataGridview
- 4. 如何在Windows窗體中調用usercontrol
- 5. 如何綁定Spring窗體:複選框而不是窗體:複選框?
- 6. 如何調用彈簧窗體:javascript中的複選框組件?
- 7. 如何在Windows窗體上使用多個複選框組
- 8. 如何在UserControl中獲取主窗口
- 9. 如何使用複選框來篩選FullCalendar中的事件?
- 10. 如何從主窗體中引用子窗體中的對象上的事件
- 11. 使用UserControl狀態保存窗體並顯示所有事件
- 12. C#窗體 - 複選框
- 13. onclick事件,使複選框
- 14. 如何在Window窗體編程中使用UserControl C#
- 15. 如何禁用DataGridView中的複選框列 - Windows窗體?
- 16. 如何處理Windows窗體上動態添加複選框的事件
- 17. Javascript,事件處理程序的窗體中的任何複選框?
- 18. 如何使用jquery在複選框中查找選中的事件?
- 19. 禁用子複選框,如果主主複選框被禁用
- 20. 如何在DataGrid複選框中處理選中的事件
- 21. usercontrol image窗體
- 22. 複選框事件在angular2
- 23. 主複選框,使其他複選框
- 24. Laravel 4,PHP - 禁用窗體複選框
- 25. Gallery3中Kohana窗體上的複選框
- 26. Event.preventDefault()和窗體中的複選框?
- 27. 嵌套窗體中的Rails複選框
- 28. 如何在彈簧窗體中使用jquery填充選擇框
- 29. 如何分別使用複選框選中,未選中和select_node事件
- 30. 如何使用實體框架在asp.net中獲取選中的複選框
哪裏是你的代碼,以顯示你試過嗎? –
看看[我對類似問題的回答](http://stackoverflow.com/questions/15605161/how-to-make-form1-label-text-change-when-checkbox-on-form2-is-檢查/ 15605436#15605436)。 –