Vicky Malhotra Ответов: 2

Функция возврата в C#


привет ребята я хочу запрограммировать функцию backspace для моего проекта научного калькулятора я закодировал что то вроде этого

private void button48_Click(object sender, EventArgs e)

{

textBox_Result.Text = textBox_Result.Text.Remove(textBox_Result.Text.Len gth - 1);

if (isOperationPerformed == true)

{

textBox_Result.Text = textBox_Result.Text;

}

else if (textBox_Result.Text == "")

{

textBox_Result.Text = "0";

}


я хочу, чтобы этот код работал только тогда, когда операция не выполняется, но если операция выполняется верно, то он не должен работать, но, похоже, не работает

Что я уже пробовал:

Попробовал функции типа if else но это не сработало :(

2 Ответов

Рейтинг:
2

Karthik_Mahalingam

использовать Посылайте ключи.Send Method (String) (System.Окна.Формы)[^]

private void button1_Click(object sender, EventArgs e)
       {
           textBox1.Focus();
           SendKeys.Send("{BACKSPACE}");
       }


Vicky Malhotra

Спасибо, но это не то, что я хочу :|

Vicky Malhotra

Вот мой исходный код~ https://pastebin.com/USeeZXuF
Если вы можете понять это тогда пожалуйста сделайте спасибо

Karthik_Mahalingam

чего вы пытаетесь достичь

Рейтинг:
0

CPallini

private void button48_Click(object sender, EventArgs e)
{
   if (isOperationPerformed == true)
   {
    // do nothing
   }
   else if (textBox_Result.Text.Length > 0)
   {
     textBox_Result.Text = textBox_Result.Text.Remove(textBox_Result.Text.Length - 1);   
   }
 
}


Vicky Malhotra

Эй, Спасибо, человек, он работает только тогда, когда я использую isOperationPerforemed == false, но он также работает, когда операция не выполняется, я хочу удалить текст, если операция не выполняется.
Вот мой исходный код~ https://pastebin.com/USeeZXuF

CPallini

А как сказать, что "операция не выполняется"?

Vicky Malhotra

вы можете увидеть мой исходный код: https://pastebin.com/USeeZXuF
я определил bool isOperationPerformed = false;
=|

CPallini

Наверное, я тебя не понимаю. Вы имеете в виду, что ничего не происходит (нет удаления символов), когда (isOperationPerformed == false) ?

Vicky Malhotra

Нет: (он ничего не удаляет, когда я определяю false, а когда я определяю true, он удаляет даже при выполнении операции!

CPallini

У вас есть две переменные:
isOperationPerformed (boolean) и OperationPerformed (string).
Что должен делать обработчик Backspace в следующих случаях:
isOperationPerofmed OperationPerformd
1 false (пустая строка)
2 false (не пустая строка)
3 true (пустая строка)
4 true (не пустая строка)
?

Vicky Malhotra

О, так мне нужно определить другую переменную для этого? На самом деле я нуб :(

CPallini

На самом деле тебе и не нужно. Но ты сделал это в своем кодексе.

Vicky Malhotra

Но ничего не получается, в чем проблема? :/

CPallini

Право, не знаю. Я не в состоянии понять, что вы пытаетесь сделать с таким обработчиком.