2017-06-16 16 views
0

我有一個用戶控件內的列表視圖,該用戶控件放置在MDI窗體內,現在我必須做的是我必須填充列表視圖基於MDI菜單點擊。我嘗試了下面的方法,但它不工作,該方法被觸發,但列表視圖沒有得到更新。下面是我的示例代碼 用戶控制如何從另一個表格中填充用戶控件內的列表視圖

public ucQuickLaunch() 
    { 
     InitializeComponent(); 
     ListFill("Loaded.."); 
    } 
    public void ListFill(string Message) 
    { 
     try 
     { 
      ListViewItem myitem = new ListViewItem(); 
      myitem.Text = DateTime.Now.ToLongTimeString().ToString(); 
      myitem.SubItems.Add(Message); 
      ListViewStatus.Items.Add(myitem); 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(ex.ToString()); 
     } 
    } 

MDI菜單上單擊

public ucQuickLaunch objQuickLaunch=new ucQuickLaunch(); 
    private void newToolStripMenuItem_Click(object sender, EventArgs e) 
    { 
     FrmGeneral frm = new FrmGeneral(); 
     FrmGeneral open = Application.OpenForms["FrmGeneral"] as FrmGeneral; 
     if (open == null) 
     { 
      frm.MdiParent = this; 
      frm.Show(); 
      objQuickLaunch.ListFill("General button clicked"); 
     } 
     else 
     { 
      open.Activate(); 
      if (open.WindowState == FormWindowState.Minimized) 
      { 
       open.WindowState = FormWindowState.Normal; 
      } 
     } 
    } 

回答

0

我假設你有放置在您的形式(FrmGeneral)上的自定義控制(ucQuickLaunch)。如果是這樣,你需要添加填充該控件到窗體的方法:

public partial class FrmGeneral : Form 
    { 
     public FrmGeneral() 
     { 
      InitializeComponent(); 
     } 

     public void ListFill(string value) 
     { 
      objQuickLaunch.ListFill(value); 
     } 
    } 

和您的菜單:

 private void newToolStripMenuItem_Click(object sender, EventArgs e) 
     { 
      FrmGeneral open = Application.OpenForms["FrmGeneral"] as FrmGeneral; 
      if (open == null) 
      { 
       FrmGeneral frm = new FrmGeneral(); 
       frm.MdiParent = this; 
       frm.ListFill("General button clicked"); 
       frm.Show(); 
      } 
      else 
      { 
       open.Activate(); 
       if (open.WindowState == FormWindowState.Minimized) 
       { 
        open.WindowState = FormWindowState.Normal; 
       } 
      } 
     } 
+0

沒有@Pablo notPicasso放置在MDI表單內我的自定義控制(ucQuickLaunch)。 – Jzl

+0

ucQuickLaunch已創建,但未添加到任何其他控件。你確定你正在更新正確的控制嗎? –

+0

Yes.its被添加到表單MDI中。 FrmGeneral是我的第二種形式。 – Jzl

相關問題