标签: numericupdown

为什么在手动更改值时,NumericUpDown控件上不会触发ValueChanged事件?

我有两个NumericUpDown控件的ValueChanged事件附加代码:

private void numericUpDownHeight_ValueChanged(object sender, EventArgs e)
{
    if (checkBoxRetainRatio.Checked)
    {
        numericUpDownWidth.Value = numericUpDownHeight.Value;
    }
}

private void numericUpDownWidth_ValueChanged(object sender, EventArgs e)
{
    if (checkBoxRetainRatio.Checked)
    {
        numericUpDownHeight.Value = numericUpDownWidth.Value;
    }
}
Run Code Online (Sandbox Code Playgroud)

当我使用控件的向上/向下箭头更改编辑框中的值时,这可以使用花花公子; 但是如果我手动编辑这个值(例如,当我想将它从100改为25,并且可以手动执行六次击键,而递增5,使用向下箭头需要15),事件不会触发.

有没有一种快速的方法来解决这个相当轻微的刺激(如果它需要一些非常神秘和棘手的实现它,我不会打扰).

c# numericupdown winforms

3
推荐指数
1
解决办法
4416
查看次数

新的C#Programmer - 一起添加两个numericUpDown值?

我是C#编程的新手.

我正在制作一个有趣的程序,它将两个数字加在一起,而不是在消息框中显示总和.我的表单上有两个numericUpDowns和一个按钮.按下按钮时,我希望它显示一个带答案的消息框.

问题是,我不确定如何将numericUpDowns中的twp值一起添加.

到目前为止,我在我的按钮事件处理程序中有这个:

private void button1_Click(object sender, EventArgs e)
    {
        MessageBox.Show(this.numericUpDown1.Value + this.numericUpDown2.Value);
    }
Run Code Online (Sandbox Code Playgroud)

但显然,它不起作用.它给了我2个编译器错误:1.'System.Windows.Forms.MessageBox.Show(string)的最佳重载方法匹配有一些无效的参数2.参数'1':不能将十进制转换为'string'

谢谢!

c# numericupdown

2
推荐指数
1
解决办法
7426
查看次数

从用户那里获取号码的最佳方法是什么?

我想知道一个小数字列表[1..20],你会建议什么样的控制来提示用户他的选择.

我正在考虑使用NumericUpDown控件,但WebForm并不存在,更糟糕的是,我正在Pylons应用程序上部署(Python Framework)

你觉得DropDown控件就足够了吗?从某种角度来说,我仍然觉得NumericUpDown控件更直观,更容易使用.

会喜欢SO社区的意见,也许会就最佳实践提出建议.

非常感谢!

编辑:忘了提到我正在使用YUI库和webhelpers库,并且据我所知,没有这样的控件具有与numericupdown相同的功能

pylons controls numericupdown

2
推荐指数
1
解决办法
248
查看次数

数字步进小数的奇怪行为

我正在为一个有数字的字段编辑.我尝试了一个文本字段,但由于它是一个Number数据类型,它不顺利 - 尽管将字符串重新编号为数字等...它一直给我NaN作为值.所以我决定最好使用数字步进器.

当我最初加载它时,它会丢弃我的所有小数,只显示我的数字作为整数.我将stepIncrement更改为0.1,现在它确实显示了小数(一个奇怪的要求imo)..但是当我升级它偶尔给我一个像'17 .700000000000003'的值,当我期望17.7.我的数据中的所有数字都有一个小数位.我知道我可以写一个dataformatter,但在这种情况下似乎没有必要.

还有其他方法可以解决这个问题吗?

apache-flex numbers decimal numericupdown actionscript-3

2
推荐指数
1
解决办法
2065
查看次数

我如何限制numericupdown控件只接受整数

我有一个Windows numericupdown控件.我想限制它,以便用户只能输入整数.我怎么做?目前用户也可以输入十进制数.谢谢PS我正在使用.net

.net integer numericupdown

2
推荐指数
2
解决办法
5935
查看次数

如何使用NumericUpDown计算文本框值的总数?

我正在尝试制作一个小的披萨订单,但我的计算有问题.选择披萨后,单价和总计算都可以,但选择添加会引入问题.更改NumericUpDown值后,卡路里不正确(所有单位都有不变的价格和卡路里).NumericUpDown的名称是numberofunit.我该怎么计算它们?

if (pepper.Checked)
{
    string peppereklendi = 
        Convert.ToString(Convert.ToDouble(unitprice.Text)+ pepperprice);

    unitprice.Text = peppereklendi;

    total.Text = 
        Convert.ToString(Convert.ToDecimal(unitprice.Text) * numberofunit.Value);

    string pepperkaloriekle = 
        Convert.ToString(Convert.ToInt16(gizlikalori.Text) + pepperkalori);

    gizlikalori.Text = pepperkaloriekle;

    amountofcalorie.Text = 
        Convert.ToString(Convert.ToDecimal(gizlikalori.Text) * numberofunit.Value);
}
else
{
    string peppereklendi = unitprice.Text;

    unitprice.Text = 
        Convert.ToString(Convert.ToDouble(peppereklendi) - pepperprice);

    total.Text = Convert.ToString(Convert.ToDecimal(unitprice.Text) * numberofunit.Value);

    string pepperkaloriekle = gizlikalori.Text;

    gizlikalori.Text = 
        Convert.ToString(Convert.ToDouble(pepperkaloriekle) - pepperkalori);

    amountofcalorie.Text = 
        Convert.ToString(Convert.ToDecimal(gizlikalori.Text) * numberofunit.Value);
}
Run Code Online (Sandbox Code Playgroud)

此代码是胡椒的复选框代码.

这是我的申请表.

c# textbox numericupdown

2
推荐指数
1
解决办法
2316
查看次数

如何在 Winforms 中以编程方式选择数值 UpDown 值?

我想使用 C# 在数字向上/向下控件中选择可用值

在此输入图像描述

一般来说,如果我们在控件内双击,则会得到以下结果(整个文本在 BG 中被选择为蓝色)

在此输入图像描述

现在我的问题是如何在语法上实现这个程序?


到目前为止我的足迹:

重点();

选择();

这似乎不起作用,在这方面的任何帮助将不胜感激,谢谢..:)

c# numericupdown

2
推荐指数
1
解决办法
3200
查看次数

WinForms NumericUpDown:有没有办法阅读有关文本选择的信息?

WinForms NumericUpDown 允许我们使用 Select(Int32, Int32) 方法选择其中的文本范围。有什么方法可以设置/检索选定文本的起点、选定的字符数和选定的文本部分,就像我们可以使用 SelectionStart、SelectionLength 和 SelectedText 属性对其他类似文本框的控件执行此操作一样吗?

numericupdown selection textselection winforms

2
推荐指数
1
解决办法
532
查看次数

NumericUpDown.Value未舍入到DecimalPlaces

假设我有一个DecimalPlaces = 2的NumericUpDown.

用户键入"1.233"(他们不知道,不小心轻敲"3"键两次)然后导航离开控件.此输入现在在控件中显示为"1.23".但是,Value属性现在为1.233.因此,对用户来说,他们正在使用值1.23,实际上,他们正在使用值1.233.有没有办法让NumericUpDown返回"正确"值:1.23?

我知道DecimalPlaces属性"...设置要显示的小数位数",但是用户无法通过简单地读取屏幕来确定将使用的值.

一种方法是始终忽略所有NumericUpDowns的Value属性,只使用Text属性(从IntelliSense隐藏)并对该属性执行decimal.Parse() - 但这看起来很尴尬.另一点是,如果用户键入"1.233"然后导航离开控件,那么,当ValueChanged事件发生时,Text属性仍为"1.233".

c# numericupdown

2
推荐指数
1
解决办法
1688
查看次数

如何在 C# Windows 窗体中获取所有动态 numericupdown 值

我想从通过 for 循环生成的 NumericUpDown 中获取值,该循环将被迭代 N 次。但是在我的代码中,我只能获取第一个 NumericUpDown 值,并且它是通过单击按钮触发的。

显示 NumericUpDown 工具的代码:

for (int i = 0; i < 6; i++) // should be i < n
{
    NumericUpDown note = new NumericUpDown();
    note.Name = "Note" + i.ToString();
    note.Location = new System.Drawing.Point(20, 40 + (40 * i));
    note.Size = new System.Drawing.Size(40, 25);
    note.Maximum = new decimal(new int[] { 10, 0, 0, 0 });
    this.Controls.Add(note);
}
Run Code Online (Sandbox Code Playgroud)

获取值的代码:

var numericUpDown = this.Controls["note0"] as NumericUpDown;
var value = numericUpDown.Value;
MessageBox.Show(value.ToString());
Run Code Online (Sandbox Code Playgroud)

我怎样才能获得所有的值?非常感谢您的帮助。

.net c# iteration loops numericupdown

2
推荐指数
1
解决办法
1821
查看次数