Я допустил ошибку при повторном создании колеса. Есть варианты , но почему-то мне нравится ощущение этого. Извините, но не хватает репутации для публикации изображения. Форма выглядит следующим образом:C# окна формы приложения динамические объекты значение
SNO .------- ITEMS -------- FROM -------- TO --------- КОЛИЧЕСТВО // этикетки
[1] ------- [----------- ▼] --- [--------] ---- [ --------] ------ [-------------] {NEW} {DELETE} // текстовые поля и кнопки
У меня есть «новое» событие нажатия кнопки для генерации строки, а серийный номер - автоматический и вставка элементов в коллекции из панели «Свойства». Кнопка удаления удаляет всю строку и сдвигает обе кнопку вверх по позиции Y.
мне нужно присвоить значение величины [(TO - ОТ) + 1] в количестве текстовых полей, , для которого у меня есть код, как:
public void print_quant(object Sender, EventArgs e)
{
TextBox quanty;
quanty = (TextBox)this.Controls.Find("QUANTITY" + (count), true)[0];
calculate_quant(this, e);
quanty = result;
}
public static string result;
public string calculate_quant(object sender, EventArgs e)
{
TextBox sfrom;
sfrom = (TextBox)this.Controls.Find("SFRM" + count, true)[0];
TextBox sto;
sto = (TextBox)this.Controls.Find("STO" + count, true)[0];
TextBox quan;
quan = (TextBox)this.Controls.Find("QUANTITY" + count, true)[0];
//if (!string.IsNullOrEmpty(sfrom.Text) && !string.IsNullOrEmpty(sto.Text))
{
int to = Convert.ToInt32(sto.Text);
int from = Convert.ToInt32(sfrom.Text);
int quantity = (to - from) + 1;
result = quantity.ToString();
quan.Text = result;
}
return result;
}
счетчик инициализируется на 1 по форме нагрузка, продолжает увеличиваться с количеством строк
тот же код работает в методе удаления строки
public void delete_row(object sender, EventArgs e) //function to delete a row
{
TextBox snum;
snum = (TextBox)this.Controls.Find("SNO"+count, true)[0];
snum.Dispose();
...//delete other row elements
}
пожалуйста, помогите мне понять, почему он не работает для т он print_quant/calculate_quant методы
Вы не изобретать колесо, вы изобрели квадратное колесо. Есть так много других лучших способов сделать это, вы можете пересмотреть переписывание. Вам придется поместить разрыв строки в ваш метод расчета и посмотреть, что происходит на самом деле. В конце у вас есть результат = .... что это такое? у вас должен быть quan.Text = result; после этого –
Также ваш метод печати фактически ничего не делает. все, что он делает, это запустить метод calculate_quant ... который, не делает ничего другого, затем назначает добавление к переменной «результат». –
Извините, я как-то пропустил это, у меня есть quan.Text = result; в моем коде. result = quantity.ToString() преобразуется в строку, так что textbox.text может принимать значение –