[英]C# Combo Box not display items
我试图让这段代码显示“英里到公里、公里到英里、英尺到米、米到英尺等等”的选项,但在加载表单时,组合框是空的。 我错过了什么? 这是在 Visual Studio 中用 C# 编码的。
我试图拉入组合框的数据在conversionTable 下。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Conversions
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
int k;
string[,] conversionTable = {
{"Miles to kilometers", "Miles", "Kilometers", "1.6093"},
{"Kilometers to miles", "Kilometers", "Miles", "0.6214"},
{"Feet to meters", "Feet", "Meters", "0.3048"},
{"Meters to feet", "Meters", "Feet", "3.2808"},
{"Inches to centimeters", "Inches", "Centimeters", "2.54"},
{"Centimeters to inches", "Centimeters", "Inches", "0.3937"}
};
private void Form1_Load(object sender, EventArgs e)
{
cboConversions.Items.Add(conversionTable[0, 0]);
cboConversions.Items.Add(conversionTable[1, 0]);
cboConversions.Items.Add(conversionTable[2, 0]);
cboConversions.Items.Add(conversionTable[3, 0]);
cboConversions.Items.Add(conversionTable[4, 0]);
cboConversions.Items.Add(conversionTable[5, 0]);
cboConversions.SelectedIndex = 0;
}
private void cboConversions_SelectedIndexChanged(object sender, EventArgs e)
{
txtLength.Clear();
k = cboConversions.SelectedIndex;
lblFromLength.Text = conversionTable[k, 1]; // to change the label depending upon user selection
lblToLength.Text = conversionTable[k, 2];// to change the label depending upon user selection
txtLength.Focus(); //focus on txtLength
}
public bool IsDecimal(TextBox textBox, string name)
{
try
{
Convert.ToDecimal(textBox.Text);
return true;
}
catch (FormatException)
{
MessageBox.Show(name + " must be a decimal number.", "Entry Error");
textBox.Focus();
return false;
}
}
private void btnCalc_Click(object sender, EventArgs e)
{
bool p = IsDecimal(txtLength, "length"); //decimal check
if (p == true)
{
double a = Convert.ToDouble(txtLength.Text);
double unit = Convert.ToDouble(conversionTable[k, 3]);
double ans = a * unit;
lblCalculatedLength.Text = ans.ToString(); // final conversion display
}
}
private void btnExit_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
这是表格
如果有人有类似的问题。
组合框没有为我填充的原因是因为在窗体设计器视图中未分配 Load 属性。 我通过单击表单,找到 load 属性并将其分配给Form1_Load
来修复它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.