2012-11-22 87 views
2

可能重複:
(c# + windows forms) Adding items to listBox in different class在獲取組合框的值,以另一種形式

我想在Form1的組合框的值,並在窗口2使用它,因爲該值將返回另一個數據從註冊用戶

public void povoacboxcliente() 
{ 
    List<SM.BancoDados.BD.Model.Clientes> lstClientes = new List<SM.BancoDados.BD.Model.Clientes>(); 
    ClienteFlow flow = new ClienteFlow(); 

    lstClientes = flow.RetornaClientes(); 

    cboxCliente.DataSource = lstClientes; 
    cboxCliente.DisplayMember = "Nome"; 
    cboxCliente.ValueMember = "Id";  
} 

現在,值成員(Id)將返回成員的性別,t帽子是在數據庫中,這部分是確定的,但我想是這樣做的另一種形式的操作。這裏就是我想在窗口2

public void enviasexo() 
    { 
     EnviarComando("0238373b3be503"); 
     idClient = Convert.ToInt32(cboxCliente.SelectedValue); 

     UsuarioFlow usuarioFlow = new UsuarioFlow(); 

     string combo = cboxCliente.SelectedValue.ToString(); 

     string sexo = usuarioFlow.RetornaSexo(combo); 

     if (sexo == "M") 
     { 
      Thread.Sleep(2000); 
      EnviarComando("0232343b3bdc03"); 
      Thread.Sleep(200); //envia comando 
     } 
     else if (sexo == "F") 
     { 
      Thread.Sleep(2000); 
      EnviarComando("0232353b3bdd03"); 
      Thread.Sleep(200); 
     } 
    } 

的「cboxCliente」在Form1中使用的代碼

謝謝你們!

回答

4

一種方法是增加ComboBox公衆Form1.Designer.cs

然後從窗體2

方式訪問ComboBox
Form Form1Object = new Form1(); 
Form1Object.cboxCliente.SelectedValue.ToString(); 

見類似的答案在

Stack Overflow Answer for other similar question

+0

你是什麼意思與Form1Object? Sry,我是C#的新手 –

+0

要從其他窗體調用窗體,您必須創建它的一個實例。 –

+0

查看我的更新回答 –

0

請使用當以不同的形式傳遞價值時,可以在Asp.Net中使用的國家管理技術之一。

看到這個
http://www.codeproject.com/Articles/331962/A-Beginner-s-Tutorial-on-ASP-NET-State-Management

客戶端狀態管理技術

視圖狀態 控制狀態 隱藏字段 餅乾 查詢字符串

服務器端狀態管理技術

應用狀態 會話狀態

作爲最佳實踐形式2不應該被顯示給用戶,如果所述控制值中的一個是嚴格依賴於形式1 ...來自用戶的輸入。在表格2和 重定向用戶如果沒有選擇從下拉值Form1的申請頁面驗證..

希望這有助於 [shaz]

相關問題