我最近开始使用Visual Studio将一些较旧的python脚本更新为独立的UI。我有一些python经验,但是C#相当新。目前,我正在使用一个计算器,该计算器将接受两个用户输入,并根据两个组合框中的项目计算高度和宽度。
基本上,用户会在文本框中输入像素大小和文件大小,然后从combobox1(BW(1),Color(3)或Color-IR(4))中选择图像类型,以便进行计算需要在组合框2(8位或16位)中引用与特定图像相关的(1、3或4)。
最终,我将从这些输入中计算出可以在项目准备过程中使用的高度和宽度。我已经设置了UI,并具有用于像素大小和文件大小的代码,并从下拉列表的属性菜单中将数据手动添加到两个组合框中。
我想从下拉菜单的项目中创建特定的变量,以在我的所有数学方程式中使用。
如果我的像素大小为0.2,文件大小为250mb,颜色和16位...计算。
在帮助我创建一条类似于...的语句时有一点帮助
IF(combobox1.text ==“ color”)和(combobox2.text ==“ 8 bit”)
//数学
...或者对像我这样的C#菜鸟的最佳操作方法的另一条建议,将不胜感激!
我曾尝试为combobox1创建一个字典,其中包含图像的类型和与之相关的数字,但是如果用户选择将其应用到Color中,我不完全了解如何从Color中提取(3)。我的方程式。
public partial class Form1 : Form
{
Dictionary<string, int> ColorBands = new Dictionary<string, int>
{
{"BW", 1 },
{"Color", 3 },
{"Color-IR", 4 }
};
public Form1()
{
InitializeComponent();
}
private void BT_HeightAndWidth_Click(object sender, EventArgs e)
{
try
{
// Calculate Height and Width from Pixel Value and Sheet Size.
decimal PixVal;
if (!decimal.TryParse(TXB_PixelSize.Text, out PixVal)) ;
{
MessageBox.Show("Pixel Size isn't valid!");
return;
}
decimal SheetSize;
if (!decimal.TryParse(TXB_SheetSize.Text, out SheetSize)) ;
{
MessageBox.Show("Sheet Size isn't valid!");
return;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
答案 0 :(得分:0)
你快到了。
您可以使用组合框的SelectedValue
属性来获取选定的值。然后使用Dictionary.TryGetValue()
获取适当的数字。
var selected = combobox1.SelectedValue.ToString();
if (ColorBands.TryGetValue(selected, out int value))
{
// Use it
}