2010-07-10 97 views
1

大家好我是贏在做一個應用程序形成C#Windows應用程序

我有即我有我的主要形式

樹視圖,面板和數據網格,一個小問題。我有一些用戶控制表單。

當我選擇從樹視圖相應的用戶控件中的節點將被獲取加載在面板如果主要形式。這很好。

現在爲孩子節點我有一些文本文件附加當我點擊,我會顯示數據網格與數據存在的文本文件。這也很好。

但現在當點擊數據網格單元我想顯示在用戶控制表單中的數據。

任何一個可以告訴如何處理從已顯示

回答

3

最好的方法是使用事件處理程序的發佈者 - 訂閱模式特定的用戶控件的控件。 在發佈商使用public event EventHandler FlightStarted;並具有EventArgs類:

public class StartEventArgs: EventArgs 
    { 
    public String flightCode { get; private set; } 

    public StartEventArgs(String flightCode) 
    { 
     this.flightCode = flightCode; 
    } 

在您的出版商類您使用OnSomething的方法來激發關閉事件。

public void OnFlightStarted(StartEventArgs e) 
    { 
     if (FlightStarted != null) 
      FlightStarted(this, e); 
    } 

現在,你需要有一個用戶,以及:

flight.FlightStarted += new EventHandler(flight_FlightStarted); 

和方法

void flight_FlightLanded(object sender, EventArgs e) 
    { 
     if (e is LandEventArgs) 
     { 
      LandEventArgs landEventArgs = e as LandEventArgs; 
      String flight = landEventArgs.flightCode; 
      while (flight.Length <= 15) 
       flight += " "; 
      String time = DateTime.Now.ToLongTimeString(); 
      lbxStatus.Items.Insert(0, flight + "landed" 
       + "     " + time); 
     } 
    } 

更多讀到這裏:Event Tutorial C#