- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试为我在学校的打印中心编写一个 kiosk 程序,供学生选择尺寸和介质类型,然后让它生成价格。我目前正在使用单选按钮执行此操作,该按钮工作正常,但我们正在添加更多选项,并且下拉列表框会更合适。另外,我计算价格的代码失控了。我想设置它以便计算价格应该很容易。设置是这样的:
File1 - 纸张尺寸(9 个选项) - 介质类型(18 个选项)
文件 2、文件 3 等
我打算将其存储在 3D 数组 filename[]papersize[]media[] 中以处理价格。
问题是并非所有媒体类型都适用于所有尺寸。我看到您无法禁用列表中的项目。如果你选择一种尺寸,我可以有选择地填充另一个下拉菜单,有或没有项目,但它会改变我的索引号。如果我可以禁用项目,我可以保持相同的索引并为处理价格制作一个简单的循环。就像现在一样,由于介质类型是不同的索引,因此我必须手动指定和循环每种纸张尺寸。
我希望这是有道理的,我并不是真正的程序员,我只是想通过一些简单的事情来改善我们在打印中心的工作流程和准确性。如果有帮助,我可以提供旧程序的屏幕截图和新程序的模型。谁能想到一个更优雅的解决方案?
谢谢!!
编辑
哎呀..好吧,这最终比我预期的要困难:感谢大家的投入,非常感谢。我真的没想到会有任何回应,而且有很多。谢谢你。我尝试了下面提到的表格想法,但我不确定如何实现它。我会针对我的尝试对该帖子发表评论。如果其他人有其他想法,让我提供更多细节。
例如我正在尝试做的事情:
尺寸 = 8.5x11 有介质 = 哑光、双面哑光、光泽、光泽、醋酸纤维、简历
尺寸 = 11x17 有媒体 = 相同减去醋酸盐和恢复
等等,最多 60 英寸的带背光媒体和各种东西的卷。
无论纸张如何,8.5x11 的价格都是 1.50,然后每张纸都有自己的价格
11x17 的价格为 3.00,每张纸都有自己的价格,比 8.5x11 的同行价格高
8.5x11 matte = .25
11x17 matte = .50
8.5x11 matte total = 1.75
11x17 matte total = 3.50
If(8.5x11_1.Checked)
{
If(matte_1.Checked)
price = 8.5x11matte_1;
if(luster_1.Checked)
price = 8.5x11luster_1;
...etc.
}
[0][0][0] = 1.75
[0][0][1] = 1.75
[0][0][2] = 2.00
public static int get_index(string index)
{
if (index == "Matte")
return (1);
....
if (index == "Luster")
return (3);
....
else
return (0);
}
for (int x = 0; x < filenum; x++)
{
pricegrid[x, 0, 0] = 1.75; // 8.5x11 Resume
pricegrid[x, 0, 1] = 1.75; // 8.5x11 Matte
pricegrid[x, 0, 2] = 1.75; // 8.5x11 Double Sided Matte
pricegrid[x, 0, 3] = 2.35; // 8.5x11 Luster
.....
}
private void calculate_price()
{
getindex[0] = get_index(media1.SelectedItem.ToString());
....
}
最佳答案
您应该像这样动态地填充 ComboBox。
您可以使用不依赖于元素数量的 SelectedValue,而不是使用 SelectedIndex。
参见例如:Using ValueMember in ComboBox
关于C# 组合框禁用项目替代?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8392820/
我是一名优秀的程序员,十分优秀!