这是作业(我总是试着指出它,所以它在前面)。该程序是一个转换程序。用户从组合框中选择转换选项,然后在用户点击计算程序计算转换时输入长度(即:英尺到米)。我有几个问题,因为阵列部分令我困惑。我想确保我正朝着正确的方向前进。转换程序将信息存储在数组中并使用组合框
我想我使用我的数组来填充我的组合框(我使用了一个提供的示例,虽然我没有完全理解它)。当用户点击计算按钮时,我应该将我的转换值存储在同一个数组中吗?像这样:
string [,] conversions = { {kilometers to miles, .11111}, {miles to kilometers, .11111}}
或者我正在朝着正确的方向与我有什么?要清楚,因为它是编码数组填充我的组合框,所以如果我添加额外的数据,那么它会显示这些数字在组合框,这不是我真正想要的。
我的下一个问题,当用户点击计算按钮,它将如何知道用户选择了什么选项?我认为这与索引有关,但就实际声明它而言,我感到困惑?
*****忽视这个问题。我想我找到了答案*********
最后,我想我的最后一个问题是页面有旁边的文本框,标签,这样如果用户选择“万里公里的”输入文本框会说迈尔斯,然后答案文本框会说千米......这是什么叫?我需要找到它在我的书,不能。我知道我失去了一些东西,但我试图找到任何一个例如或者在书它被覆盖,我只是没有看到它。
下面是我的代码,我现在有。
public partial class FrmConversions : Form
{
const double Miles_To_Kilometers = 1.6093;
const double Kilometers_To_Miles = 0.6214;
const double Feet_To_Meters = 0.3048;
const double Meters_To_Feet = 3.2808;
const double Inches_To_Centimeters = 2.54;
const double Centimeters_To_Inches = 0.3937;
public FrmConversions()
{
InitializeComponent();
}
private void btnExit_Click(object sender, EventArgs e)
{
this.Close();
}
private void FrmConversions_Load(object sender, EventArgs e)
{
cboConversions.Items.Clear(); //clear the combobox
string[,] conversions =
{
{"Kilometers to Miles" , "Miles to Kilometers"},
{"Feet to Meters" , "Meters to Feet"},
{"Inches to Centimeters", "Centimeters to Inches"}
};
foreach (string str in conversions)
{
cboConversions.Items.Add(str);
}
}
private void btnClear_Click(object sender, EventArgs e)
{
txtEntry.Clear();
txtAnswer.Clear();
}
public bool IsDecimal(TextBox txtEntry, string name)
{
try
{
Convert.ToDecimal(txtEntry.Text);
return true;
}
catch (FormatException)
{
MessageBox.Show(name + " must be a decimal value.", "Entry Error");
txtEntry.Focus();
return false;
}
}
private void btnCalculate_Click(object sender, EventArgs e)
{
int index = cboConversions.SelectedIndex;
if (index != -1)
{
try
{
if (IsDecimal())
{
txtAnswer.Text = ToString;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message + "\n\n" +
ex.GetType().ToString() + "\n" +
ex.StackTrace, "exception");
}
}
}
}
}
}
谢谢主席先生。这很有帮助。 –