Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/34: Рейтинг темы: голосов - 34, средняя оценка - 4.76
9 / 9 / 10
Регистрация: 05.09.2013
Сообщений: 502
1

Обработка события Click в TextBox

22.09.2014, 22:18. Показов 6320. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте . Возник вопрос по событию Click. Есть матрица 3 на 3 :
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int [,] mas =new int[3,3];  //массив
......
TextBox[,] tb1 = new TextBox[3, 3];
            for (int i = 0; i < tb1.GetLength(0); i++)
            {
                for (int j = 0; j < tb1.GetLength(1); j++)
                {
                    tb1[i, j] = new System.Windows.Forms.TextBox();
                    tb1[i, j].TextAlign = HorizontalAlignment.Center;
                    tb1[i, j].Location = new System.Drawing.Point(300 + j * 50, 40 + i * 30);
                    tb1[i, j].Name = "textBox" + (i * tb1.GetLength(1) + j).ToString();
                    tb1[i, j].Size = new System.Drawing.Size(35, 35);
                    tb1[i, j].TabIndex = i * tb1.GetLength(1) + j;
                    tb1[i,j].Click += new System.EventHandler(this.textBox_Click); //объявление обработки нажатия
                    Controls.Add(tb1[i, j]);
                }
            }
Нужно сделать так , чтобы при нажатии, например , на tb1[0,0] заносилась еденица в mas[0,0] и появлялась "1" в tb1[0,0].

Возник вопрос обработки события Click.

C#
1
2
3
4
5
private void textBox_Click(object sender, EventArgs e)
 {
     TextBox tb1 = sender as TextBox;
 
}
как дальше правильно обработать ?
просто думал через цикл перебрать :

C#
1
2
3
4
5
6
7
8
9
   for (int i = 0; i < tb1.GetLength(0); i++)
            {
                for (int j = 0; j < tb1.GetLength(1); j++)
                {     
                      mas[i,j]=1;
                       tb1[i,j].Text=Convert.ToString(mas[i,j]);
            
}
}
Но так не получается .

Не могу понять , как правильно в этом случае нужно обрабатывать ?

Добавлено через 1 минуту
а прописывать для каждого tb1[i,j] отдельный Click - не вариант :

C#
1
2
tb1[0,0].Click += new System.EventHandler(this.textBox_Click);//объявление обработки нажатия
 tb1[0,1].Click += new System.EventHandler(this.textBox2_Click);//объявление обработки нажатия
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.09.2014, 22:18
Ответы с готовыми решениями:

Обработка события Click и похожие вещи
Здоров всем, Двойной щелчок по компоненту кнопки на форме автоматически вставляет в код: ...

Обработка события Click кнопки создаваемой в коде
в коде создаем панельку , обычно чтоб перейти в настройки кнопки по нажатию нужно кликнуть 2 раза ,...

Обработка события UserControl.Click когда он закрыт Label
Здравствуйте, помогите решить дилемму. 1 - создал UserControl размером (26X26) - это игровая фишка...

Прекращение действия события Click
Пишу игру крестики-нолики. Не знаю как остановить событие Cells.Click, при выйгрыше одной из...

3
290 / 271 / 107
Регистрация: 10.06.2011
Сообщений: 696
22.09.2014, 22:33 2
получить координаты клика, из них высчитать i и j, увеличить mas[i,j]...
0
9 / 9 / 10
Регистрация: 05.09.2013
Сообщений: 502
22.09.2014, 22:58  [ТС] 3
Что-то я совсем запутался.

Зачем нужны координаты клика ?

Допустим , я получаю координаты клика :
C#
1
2
3
4
5
6
7
8
 private void textBox_Click(object sender, EventArgs e)
        {
 
           TextBox tb1 = sender as TextBox;
           int x=tb1.Location.X;
           int y = tb1.Location.Y;
 
}
Вот так координаты получать нужно? Это прлучаются у меня числа по Y(40,70,100) , X(300,350,400).
Зачем они нужны и что с ними дальше делать? -_-
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
23.09.2014, 00:47 4
NNN7,
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
using System;
using System.Windows.Forms;
 
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        int[,] mas;
        TextBox[,] tb1;
        private void Form1_Load(object sender, EventArgs e)
        {
            mas =new int[3,3];  //массив
            tb1 = new TextBox[3, 3];
            for (int i = 0; i < tb1.GetLength(0); i++)
            {
                for (int j = 0; j < tb1.GetLength(1); j++)
                {
                    tb1[i, j] = new System.Windows.Forms.TextBox();
                    tb1[i, j].TextAlign = HorizontalAlignment.Center;
                    tb1[i, j].Location = new System.Drawing.Point(300 + j * 50, 40 + i * 30);
                    tb1[i, j].Name = "textBox" + i.ToString() + j.ToString();
                    tb1[i, j].Size = new System.Drawing.Size(35, 35);
                    tb1[i, j].TabIndex = i * tb1.GetLength(1) + j;
                    tb1[i,j].Click += new System.EventHandler(this.textBox_Click); //объявление обработки нажатия
                    Controls.Add(tb1[i, j]);
                }
            }
        }
        private void textBox_Click( object sender, EventArgs e)
        {
            TextBox tb = sender as TextBox;
            try
            {
                int i = Convert.ToInt32(tb.Name[7].ToString());
                int j = Convert.ToInt32(tb.Name[8].ToString());
                int n = Convert.ToInt32(tb.Name[7].ToString() + tb.Name[8].ToString())+1;
                n -= (n > 3) ? ( n > 13 ? 14 : 7 ) : 0;
                mas[i, j] = n;
                tb.Text = n.ToString();                
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return;
            }
        }        
    }
}
1
23.09.2014, 00:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.09.2014, 00:47
Помогаю со студенческими работами здесь

Обработчик события ButAdd.Click
Добрый день, только начал изучать С#. Вопрос заключается в следующем: Создаю приложение winforms,...

Передача значения переменной из события Click
Нужно передать значение переменной из события в другой класс или форму public void...

Создание события Click для нарисованного объекта
Если функция, которая рисует сетку объектов using (Graphics g = this.CreateGraphics()) ...

Назначить разные обработчики события Click кнопкам в UserControl
У меня имеется usercontrol на нем 2 кнопки, usercontrol перенес на форму. Вопрос: как мне сделать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru