Загрузка...

Who fumbles in c # - here!

Thread in C# created by Tea_Master Nov 20, 2019. 846 views

  1. Tea_Master
    Tea_Master Topic starter Nov 20, 2019 你是一個系統奴隸 463 May 13, 2017
    [IMG]

    Нужно чтобы в первое и второе поле вводили значение, а в третьем был результат этих двух чисел
     
  2. Ascar
    Ascar Nov 20, 2019 Чемпион по спизженным велосипедам 335 Nov 24, 2016
    Без кнопки?
     
  3. nuktonun
    nuktonun Nov 20, 2019 20 Sep 26, 2017
    Можно же кнопку сделать и в ней прописать чтобы с двух строк данные считывались, в третью результат выводился
     
  4. Tea_Master
    Tea_Master Topic starter Nov 20, 2019 你是一個系統奴隸 463 May 13, 2017
    Да, чтобы результат сразу высвечивался в третьей строке, так надо
    The post was merged to previous Nov 20, 2019
    Без неё нужно
     
  5. Sense
    Sense Nov 20, 2019 1843 Jun 16, 2014
    ну просто в событиях изменения на полях пишешь формулу и всё
     
  6. Tea_Master
    Tea_Master Topic starter Nov 20, 2019 你是一個系統奴隸 463 May 13, 2017
    Кто-то может кинуть пример в Лс, в замен и я что-то кину
     
  7. renameduser_110248
    гугли в сторону TextChange
     
  8. Fans
    Fans Nov 20, 2019 L 812 May 3, 2018
    Tea_Master, int a = Convet.ToInt32(TextBox1.Text); int aa = Convet.ToInt32(TextBox1.Text); string rez = (a+aa).ToString()TextBox3.Text = rez;
     
  9. renameduser_110248
    И упадёт он с ошибкой из-за того что где-то затрёт полностью текст
     
  10. Fans
    Fans Nov 20, 2019 L 812 May 3, 2018
  11. blackjesus666
    Блять просто в таймере пиши код с привязкой к текст боксу
     
  12. renameduser_110248
    ты думаешь он знает про try catch? он не знает как суммировать читая с текстбокса, и кажись про эвенты тоже не знает
    The post was merged to previous Nov 20, 2019
    А эвенты тогда зачем?
     
  13. blackjesus666
    Нахуй эвенты? Намного проще и быстрее через таймер захуячить
     
  14. renameduser_110248
    Я тебя понял...
     
  15. xmka
    xmka Nov 21, 2019 26 Feb 8, 2019
    Как-то так:

    Code

    using System;
    using System.Text.RegularExpressions;
    using System.Windows.Forms;

    namespace WindowsFormsApp1
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }

    void Sum(int? tb1, int? tb2)
    {
    textBox3.Text = (tb1 + tb2).ToString();
    }

    private void textBox1_TextChanged(object sender, EventArgs e)
    {
    if (Regex.IsMatch(textBox1.Text, "[^0-9]"))
    {
    textBox1.Text = textBox1.Text.Remove(textBox1.Text.Length - 1);
    textBox1.SelectionStart = textBox1.TextLength;
    }
    else
    {
    Sum(Convert.ToInt32((textBox1.Text != "" ? textBox1.Text : "0")), Convert.ToInt32((textBox2.Text != "" ? textBox2.Text : "0")));
    }
    }

    private void textBox2_TextChanged(object sender, EventArgs e)
    {
    if (Regex.IsMatch(textBox2.Text, "[^0-9]"))
    {
    textBox2.Text = textBox2.Text.Remove(textBox2.Text.Length - 1);
    textBox2.SelectionStart = textBox2.TextLength;
    }
    else
    {
    Sum(Convert.ToInt32((textBox1.Text != "" ? textBox1.Text : "0")), Convert.ToInt32((textBox2.Text != "" ? textBox2.Text : "0")));
    }
    }
    }
    }
     
  16. renameduser_110248
    Ты мог в Sum написать
    Code
    void Sum() {
    if (int.TryParse(textBox1.Text, out int a) && int.TryParse(textBox2.Text, out int b)) {
    textBox3.Text = (a+b).ToString()
    }}
    и в TextChanged вызывать Sum, и не нужны все эти регулярки и тд. Но попытка хорошая)
     
  17. xmka
    xmka Nov 21, 2019 26 Feb 8, 2019
    Я написал самый простой пример. Вообще не сильно хорошо знаю C#
     
  18. renameduser_110248
    самый простой? сравни кол-во кода который показал я и ты)
     
  19. FormatC
    FormatC Dec 3, 2019 Banned 128 Jul 4, 2019
    Ныа:
    Code

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;

    namespace WindowsFormsApp1
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }

    private void textBox1_TextChanged(object sender, EventArgs e)
    {
    if (textBox2.Text.Trim() != "")
    {
    try
    {
    int a = Convert.ToInt32(textBox1.Text);
    int b = Convert.ToInt32(textBox2.Text);
    int sum = a + b; // Сама операция
    textBox3.Text = sum.ToString();
    }
    catch (Exception ex)
    {
    MessageBox.Show(ex.ToString());
    }
    }
    }

    private void textBox2_TextChanged(object sender, EventArgs e)
    {
    if (textBox1.Text.Trim() != "")
    {
    try
    {
    int a = Convert.ToInt32(textBox1.Text);
    int b = Convert.ToInt32(textBox2.Text);
    int sum = a + b; // Сама операция
    textBox3.Text = sum.ToString();
    }
    catch (Exception ex)
    {
    MessageBox.Show(ex.ToString());
    }
    }
    }
    }
    }

    The post was merged to previous Dec 3, 2019
    за 5 сек тупа натаскал кода
    The post was merged to previous Dec 3, 2019
    делал такие калькуляторы еще год назад)))
    The post was merged to previous Dec 3, 2019
    Советую убрать MessageBox в обработчике ошибок, ибо при стирании операторов будет выскакивать MessageBox, что не очень приятно.
    The post was merged to previous Dec 3, 2019
    Вот новый код:
    Code

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;

    namespace WindowsFormsApp1
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }

    private void textBox1_TextChanged(object sender, EventArgs e)
    {
    if (textBox2.Text.Trim() != "")
    {
    try
    {
    int a = Convert.ToInt32(textBox1.Text);
    int b = Convert.ToInt32(textBox2.Text);
    int sum = a + b; // Сама операция
    textBox3.Text = sum.ToString();
    }
    catch (Exception)
    {
    textBox3.Text = "";
    }
    }
    }

    private void textBox2_TextChanged(object sender, EventArgs e)
    {
    if (textBox1.Text.Trim() != "")
    {
    try
    {
    int a = Convert.ToInt32(textBox1.Text);
    int b = Convert.ToInt32(textBox2.Text);
    int sum = a + b; // Сама операция
    textBox3.Text = sum.ToString();
    }
    catch (Exception)
    {
    textBox3.Text = "";
    }
    }
    }
    }
    }

     
  20. renameduser_110248
    FormatC, зачем плодить 2 одинаковых кода? не проще тогда у второго textbox подписаться на уже существующий метод а не создавать новый и туда пихать тот же код?
     
Top
Loading...