У меня элемент управления NumericUpDown, созданный динамически следующим образом:
var numericUpDown = new NumericUpDown
{
Name = "numericUpDown" + Labels.Count,
Maximum = decimal.MaxValue,
Minimum = decimal.MinValue,
Value = rModel[i].ContractedAmount,
Location = new Point(12, YPos),
Size = new Size(70, 19),
DecimalPlaces = 4
};
this.Controls.Add(numericUpDown);
Поэтому при загрузке он выдает что-то вроде этого:
У меня есть событие, если я управляю c и управляю им, выбираю все элементы управления:
Теперь, если я хочу изменить значение, я просто набираю IE число 2, как только это значение добавляется, курсор появляется на первом месте управления
Так что, если я наберу второе число, оно просто добавится на первое место, вставленное справа от число 2. Таким образом, если я набираю 9, значение теперь равно 92. Это происходит только один раз, потому что, если я набираю больше значений после 92, оно правильно добавляется после 9 IE
977423487342
Но сначала всегда в конце. С уважением
Примечание: я не могу использовать десятичные знаки. Если я наберу .
указатель, просто go на первое место. То же самое происходит, если я использую backspace после десятичного числа.
Событие TextChange:
private void NumericUpDown_TextChanged(object sender, EventArgs e)
{
NumericWasChanged = true;
lblCurrentAmount.Text = "0";
foreach (Panel panel in tpnlDeliveryBreakdown.Controls.OfType<Panel>())
{
foreach (Control c in panel.Controls)
{
if (c.GetType() == typeof(NumericUpDown))
{
var currentControl = (c as NumericUpDown);
lblCurrentAmount.Text = (decimal.Parse(lblCurrentAmount.Text) + decimal.Parse(currentControl.Value.ToString())).ToString();
}
}
}
}