如何解决更改基于textBox值的comboBox值? C#
我正在制作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();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。