我訪問我的Usercontrol的方法時遇到問題。從父窗體調用用戶控件的方法
我的設置如下:
我有一個名爲「SearchForm」 MainForm,然後叫「ShowSequence」(它從SearchForm調用)第二種形式。
ShowSequence窗體上有一個名爲「SequenceList」的UserControl,它附帶有一個WPF ListView。 ShowSequence表單加載時填充ListView內容。
現在,當我單擊我的SearchForm中的按鈕時,我想要刷新ShowSequence窗體上我的SequenceList(UserControl)的ListView。
因爲我創建了幾個這些ShowSequence窗體(作爲實例),我將不得不找到我需要的ShowSequence窗體。我將通過名稱來識別它,並調用的MyMethod():
if (System.Windows.Forms.Application.OpenForms["NameofForm"] != null)
{
(System.Windows.Forms.Application.OpenForms["NameofForm"] as ShowSequence).MyMethod();
}
所以的MyMethod ShowSequence表上現在應該進入一個名爲刷新()在SequenceList類(用戶控件)方法,並開始了我的ListView的刷新。
顯示排序表.......
public void MyMethod()
{
SequenceList.Refresh(); // error
}
那是不可能的。系統告訴我創建一個對象引用來訪問Refresh()方法,因爲它不是靜態的。
所以我用這個:
public void MyMethod()
{
SequencList SeqLi = new SequenceList();
SeqLi.Refresh();
}
但是,當我這樣做,我沒有得到我的SequenceList.ListView是在更新ShowSequence形式的開放實例中運行。我猜是因爲我創建了SequenceList的 對象,而不是在打開的窗體上調用Method?還是我錯了?
感謝您編輯SwiftArchitekt。 – fid200