我有一组带有一组值的组合框(5,10,15,20)。
当用户选择一个值时,我希望它们显示为百分比(5%,10%,15%,20%)。
我正在使用值##%播放格式字符串,但这不起作用。
答案 0 :(得分:5)
FormatString应该可以工作,但它会将数字乘以100。 可能想在字符串前添加一个0来处理0%。
这段代码对我有用。
private void Form1_Load(object sender, EventArgs e)
{
this.comboBox1.FormatString = "##0%";
comboBox1.Items.Add(0);
comboBox1.Items.Add(0.33);
comboBox1.Items.Add(0.50);
comboBox1.Items.Add(0.67);
comboBox1.Items.Add(1);
}
答案 1 :(得分:1)
您可以将值设置为5,10,15,20,显示成员为5%,10%,15%等
答案 2 :(得分:1)
您可以根据蒙版文本框控件创建自己的组合框,也可以手动格式化它们。如果您的用户无法输入自己的值,只需在预先格式化后输入即可。如果可以,则在组合框引发其更改事件时手动格式化它们。
答案 3 :(得分:1)
嗯,这是一个非常奇怪的问题,我无法以任何方式解决这个问题。如果要在组合框中显示正常数字,后者(在选择之后)更改其文本。我这样做了(看起来很有趣),它确实解决了这个问题:)
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
Thread th = new Thread(() => comboBox1.Invoke((Action)(() => comboBox1.Text += @"%"))){ IsBackground = true };
th.Start();
}