问题描述
我正在制作PC配置程序,但被卡住了。在第一个表格中,我选择了cpu和显示在文本框中的信息,但是在第二个表格中,我选择了MoBo。 cpu信息之一是套接字,它是主板形式上的第一个comboBox。有没有一种方法可以将textBox中的值与该comboBox链接起来?我也使用了sql Studio。
我真的需要帮助,我在编程方面很烂,我这样做只是为了不使学期不及格。请帮助我。
This is picture of my code for that comboBox
私有无效MaticnaPloca_Load(对象发送者,EventArgs e) {
con.open();
sqlCommand sc = new sqlCommand("SELECT distinct(soket) from MaticnaPloca",con);
sqlDataReader reader;
reader = sc.ExecuteReader();
DataTable dt = new DataTable();
dt.Columns.Add("soket",typeof(string));
dt.Load(reader);
cbSoket.ValueMember = "soket";
cbSoket.DataSource = dt;
cbSoket.Selectedindex = -1;
con.Close();
con.open();
sqlCommand sc1 = new sqlCommand("SELECT distinct(proizvodjac) from MaticnaPloca order by Proizvodjac",con);
sqlDataReader reader1;
reader1 = sc1.ExecuteReader();
DataTable dt1 = new DataTable();
dt1.Columns.Add("proizvodjac",typeof(string));
dt1.Load(reader1);
comboBox2.ValueMember = "proizvodjac";
comboBox2.DataSource = dt1;
comboBox2.Selectedindex = -1;
comboBox2.Enabled = false;
con.Close();
con.open();
sqlCommand sc2 = new sqlCommand("SELECT (model) from MaticnaPloca order by model",con);
sqlDataReader reader2;
reader2 = sc2.ExecuteReader();
DataTable dt2 = new DataTable();
dt2.Columns.Add("model",typeof(string));
dt2.Load(reader2);
comboBox3.ValueMember = "model";
comboBox3.DataSource = dt2;
comboBox3.Selectedindex = -1;
comboBox3.Enabled = false;
con.Close();
}
private void cbSoket_SelectedindexChanged(object sender,EventArgs e)
{
try
{
sqlCommand sc = new sqlCommand();
con.open();
if (cbSoket.SelectedValue.ToString() == "1151")
sc = new sqlCommand("select distinct (proizvodjac) from MaticnaPloca where Soket = '1151'",con);
else if (cbSoket.SelectedValue.ToString() == "AM4")
sc = new sqlCommand("select distinct (proizvodjac) from MaticnaPloca where Soket = 'AM4'",con);
else if (cbSoket.SelectedValue.ToString() == "TR4")
sc = new sqlCommand("select distinct (proizvodjac) from MaticnaPloca where Soket = 'TR4'",con);
sqlDataReader reader;
reader = sc.ExecuteReader();
DataTable dt = new DataTable();
dt.Columns.Add("proizvodjac",typeof(string));
dt.Load(reader);
comboBox2.ValueMember = "proizvodjac";
comboBox2.DataSource = dt;
comboBox2.Selectedindex = -1;
comboBox2.Enabled = true;
con.Close();
}
catch (Exception)
{
}
}
private void comboBox2_SelectedindexChanged(object sender,EventArgs e)
{
try
{
sqlCommand sc = new sqlCommand();
con.open();
if (comboBox2.SelectedValue.ToString() == "Asus" && cbSoket.SelectedValue.ToString() == "1151")
sc = new sqlCommand("select distinct (model) from MaticnaPloca where Proizvodjac = 'Asus' AND Soket = '1151'",con);
if (comboBox2.SelectedValue.ToString() == "Asus" && cbSoket.SelectedValue.ToString() == "AM4")
sc = new sqlCommand("select distinct(model) from MaticnaPloca where Proizvodjac = 'Asus' AND Soket = 'AM4'",con);
if (comboBox2.SelectedValue.ToString() == "Asus" && cbSoket.SelectedValue.ToString() == "TR4")
sc = new sqlCommand("select distinct(model) from MaticnaPloca where Proizvodjac = 'Asus' AND Soket = 'TR4'",con);
if (comboBox2.SelectedValue.ToString() == "Biostar" && cbSoket.SelectedValue.ToString() == "AM4")
sc = new sqlCommand("select distinct(model) from MaticnaPloca where Proizvodjac = 'Biostar' AND Soket = 'AM4' ",con);
if (comboBox2.SelectedValue.ToString() == "Biostar" && cbSoket.SelectedValue.ToString() == "1151")
sc = new sqlCommand("select distinct(model) from MaticnaPloca where Proizvodjac = 'Biostar' AND Soket = '1151'",con);
if (comboBox2.SelectedValue.ToString() == "Gigabyte" && cbSoket.SelectedValue.ToString() == "1151")
sc = new sqlCommand("select distinct(model) from MaticnaPloca where Proizvodjac = 'Gigabyte' AND Soket = '1151'",con);
if (comboBox2.SelectedValue.ToString() == "Gigabyte" && cbSoket.SelectedValue.ToString() == "AM4")
sc = new sqlCommand("select distinct(model) from MaticnaPloca where Proizvodjac = 'Gigabyte' AND Soket = 'AM4'",con);
if (comboBox2.SelectedValue.ToString() == "Gigabyte" && cbSoket.SelectedValue.ToString() == "TR4")
sc = new sqlCommand("select distinct(model) from MaticnaPloca where Proizvodjac = 'Gigabyte' AND Soket = 'TR4'",con);
if (comboBox2.SelectedValue.ToString() == "MSI" && cbSoket.SelectedValue.ToString() == "AM4")
sc = new sqlCommand("select distinct(model) from MaticnaPloca where Proizvodjac = 'MSI' AND Soket = 'AM4'",con);
if (comboBox2.SelectedValue.ToString() == "MSI" && cbSoket.SelectedValue.ToString() == "TR4")
sc = new sqlCommand("select distinct(model) from MaticnaPloca where Proizvodjac = 'MSI' AND Soket = 'TR4'",con);
sqlDataReader reader;
reader = sc.ExecuteReader();
DataTable dt2 = new DataTable();
dt2.Columns.Add("model",typeof(string));
dt2.Load(reader);
comboBox3.ValueMember = "model";
comboBox3.DataSource = dt2;
comboBox3.Enabled = true;
con.Close();
}
catch (Exception)
{
}
解决方法
我也不太了解你想做什么,但我会尝试。
将文本框文本添加到组合框
comboBox1.Items.Add(textBox1.Text);
获取comboBox的值,并在TextBox中显示
int pos = 0; //item position starting from 0 1 2 3 . . .
textBox1.Text = comboBox1.Items[pos].ToString();