将组合框值赋予另一种形式

时间:2012-11-22 16:05:24

标签: c# .net forms combobox

  

可能重复:
  (c# + windows forms) Adding items to listBox in different class

我想获取form1中的组合框值并在form2中使用它,因为该值将从注册用户返回另一个数据

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)将返回成员的性别,即数据库,这部分是可以的,但我想要的是以另一种形式进行操作..这是我的代码尝试使用form2

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);
        }
    }

在form1中使用了“cboxCliente”

谢谢大家!

2 个答案:

答案 0 :(得分:4)

一种方法是在Form1.Designer.cs中公开ComboBox

然后从Form2

访问ComboBox
Form Form1Object = new Form1();
Form1Object.cboxCliente.SelectedValue.ToString();

的类似答案

Stack Overflow Answer for other similar question

答案 1 :(得分:0)

请在使用不同形式的值时使用Asp.Net中提供的状态管理技术之一。

见这个   http://www.codeproject.com/Articles/331962/A-Beginner-s-Tutorial-on-ASP-NET-State-Management

客户端状态管理技术

查看状态 控制状态 隐藏的领域 饼干 查询字符串

服务器端状态管理技术

申请状态 会话状态

如果其中一个控件值严格依赖于来自用户的表单1 ...输入,则不应向用户显示表2。在表格2和表格上应用页面验证 如果未选择下拉列表中的值,则将用户重定向到form1。

希望这会有所帮助 [shaz]