2012-11-22 54 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]

相关问题