Рейтинг:
5
Karthik_Mahalingam
попробуй вот так
private void Form3_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add("Value");
dt.Columns.Add("Text");
dt.Rows.Add("", "");
dt.Rows.Add("1", "A");
dt.Rows.Add("2", "B");
dt.Rows.Add("3", "C");
dt.Rows.Add("4", "A+");
comboBox1.DisplayMember = "Text";
comboBox1.ValueMember = "Text";
comboBox1.DataSource = dt;
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
textBox1.Text = (comboBox1.SelectedItem as DataRowView)[0].ToString();
}
Когда вы выберете+, 4 будет присвоено текстовому полю.
Member 12632487
Да, это лучший способ, но таким образом я могу передать значение типа float в текстовом поле .Этот код правильно работает,но не принимает значение float.
И еще одна важная вещь заключается в том, что я хочу сделать это для многих comobox, а затем в методе, как я могу написать код?
нужна помощь!
Karthik_Mahalingam
напишите функцию, передайте параметры и повторно используйте ее.
Member 12632487
Как можно передать этот параметр. вот такая путаница, что как можно передать параметр для comobox no?
другое дело, как можно передать значение float?
можете ли вы помочь мне, написав небольшой код?
Karthik_Mahalingam
значение float означает?
приведите несколько примеров того, как выглядят данные ur и как вы хотите отобразить их на экране
Member 12632487
то же самое, что я хочу, чтобы вы уже обсуждали . значит, когда пользователь выбирает оценку (например, A+) , то текстовое поле может показать (3.4)
как вы показываете, что когда пользователь выбирает класс " а+", текстовое поле автоматически показывает 4
теперь я хочу, чтобы он также мог показывать значение float, например 3.4,4.2 и т. д
Karthik_Mahalingam
просто преобразуйте значение float в string и сделайте то же самое.- это сработает..
опубликуйте свой код. я исправлю это.
Member 12632487
вот код
List< class1> grades = новый список & lt;class1>();
оценки.Add (new Class1 () { Grade = "", point = 0});
оценки.Add (new Class1 () { Grade = " A+", point = 4 });
оценки.Add (new Class1 () { Grade = "A", point = 3 });
оценки.Add (new Class1 () { Grade = " B+", point = 2 });
оценки.Add (new Class1 () { Grade = "B", point = 1 });
comboBox1. DataSource = оценки;
comboBox1. DisplayMember = " класс";
Я хочу, чтобы где находится значение point=2 или 3.... здесь я также могу ввести 2.3 или другое значение, например 3.2,4.2 и т. д
так помоги же мне!
Karthik_Mahalingam
класть
comboBox1. ValueMember = " точка";
Member 12632487
я думаю, вы не понимаете, о чем я.
я хочу, что comobox показать grede и TextBox показать точку(например, 3,3.4), код, который я послал вам покажет правильное значение для comobox и текстовое поле, но поле только покажет правильное значение, как 2,5,3 но когда я знамение значение (например, 3.4,2.3) ошибка визуальное шоу.....
код очень правильный, но нужно немного улучшить, этот код показывает ошибку, когда я ставлю значение (2.3, 4.5) В точку, так что помогите мне!
Karthik_Mahalingam
разместите код класса (class1)
Karthik_Mahalingam
публичный класс Class1
{
общественная строка класс {получить;набор;}
public string point {get;set;}
}
Список оценок = новый список();
оценки.Add (new Class1 () { Grade = "", point = " 0"});
оценки.Add (new Class1 () { Grade = " A+", point = " 4.1" });
оценки.Add (new Class1 () { Grade = "A", point = " 3.3" });
оценки.Add (new Class1 () { Grade = " B+", point = " 2.3" });
оценки.Add (new Class1 () { Grade = "B", point = 1 });
comboBox1. DataSource = оценки;
comboBox1. DisplayMember = " класс";
comboBox1. ValueMember = " точка";
Member 12632487
public string Grade { set; get; }
public string point { set; get; }
List< class1> grades = новый список & lt;class1>();
оценки.Add (new Class1 () { Grade = "", point = 0});
оценки.Add (new Class1 () { Grade = " A+", point = 4 });
оценки.Add (new Class1 () { Grade = "A", point = 3 });
оценки.Add (new Class1 () { Grade = " B+", point = 2 });
оценки.Add (new Class1 () { Grade = "B", point = 1 });
comboBox1. DataSource = оценки;
comboBox1. DisplayMember = " класс";
Karthik_Mahalingam
попробуйте приведенный выше код
Member 12632487
большое спасибо братан
моя программа теперь работает правильно ... так что спасибо
:)
Member 12632487
когда я пишу 4.2 вместо 4 error show "не может неявно преобразовать double в string
так что попробуйте удалить эту ошибку , я так волнуюсь из-за этого :(
Karthik_Mahalingam
публичный класс Class1
{
общественная строка класс {получить;набор;}
public string point {get;set;}
}
Список оценок = новый список();
оценки.Add (new Class1 () { Grade = "", point = " 0"});
оценки.Add (new Class1 () { Grade = " A+", point = " 4.1" });
оценки.Add (new Class1 () { Grade = "A", point = " 3.3" });
оценки.Add (new Class1 () { Grade = " B+", point = " 2.3" });
оценки.Add (new Class1 () { Grade = "B", point = " 1" });
comboBox1. DataSource = оценки;
comboBox1. DisplayMember = " класс";
comboBox1. ValueMember = " точка";
Member 12632487
ошибка была в том, что я не написал "" для значения точки
так что спасибо
Karthik_Mahalingam
крутой
Member 12632487
и еще одно
но этот код в fundtion как можно написать ? я имею в виду, как можно передать параметр для разных comobox?
потому что мне нужен этот код много раз
Karthik_Mahalingam
все 3 combobox одинаковые данные?
Member 12632487
да
у меня есть 7 comobox и те же данные, которые я хочу передать
Karthik_Mahalingam
общественного недействительными BindDataToComboBox(комбобокс СВХ)
{
List< class1> grades = новый список & lt;class1>();
оценки.Add (new Class1 () { Grade = "", point = " 0" });
оценки.Add (new Class1 () { Grade = " A+", point = " 4.1" });
оценки.Add (new Class1 () { Grade = "A", point = " 3.3" });
оценки.Add (new Class1 () { Grade = " B+", point = " 2.3" });
оценки.Add (new Class1 () { Grade = "B", point = " 1" });
СВХ.Источник данных = ранги;
cbx. DisplayMember = " класс";
СВХ.ValueMember = "точка";
}
BindDataToComboBox(Элемент Combobox1);
BindDataToComboBox(ComboBox2);
BindDataToComboBox(ComboBox3);
BindDataToComboBox(ComboBox4);
BindDataToComboBox(ComboBox5);
Member 12632487
где этот код писать?
я имею в виду, где в коде приложения winform?
Karthik_Mahalingam
в форме 1. cs
внутри класса
позвоните в событии load формы
BindDataToComboBox(Элемент Combobox1);
BindDataToComboBox(ComboBox2);
BindDataToComboBox(ComboBox3);
BindDataToComboBox(ComboBox4);
BindDataToComboBox(ComboBox5);
Member 12632487
Таким образом, все comoboxs и textboxs имеют значение сохранения.
я имею в виду, что если comobbox1 имеет класс A+ и значение 4, то все comobox имеют одинаковое значение.
но я хочу, чтобы каждый comobox и textboxs имели значение в соответствии с оценками... так что вот ошибка
Karthik_Mahalingam
затем передайте данные аналогичным образом.
Member 12632487
большое спасибо.
Karthik_Mahalingam
добро пожаловать