Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
Elman12
7 / 7 / 1
Регистрация: 10.12.2010
Сообщений: 64
1

Как сделать, что бы при нажатие кнопки заполнялось только выделенное поле(в котором стоит курсор)?

10.12.2010, 22:25. Просмотров 1246. Ответов 9
Метки нет (Все метки)

ммммм есть 10 кнопок- соответствующие цифрам {0-9} и три текстовых поля...Как сделать, что бы при нажатие кнопки заполнялось только выделенное поле(в котором стоит курсор)?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2010, 22:25
Ответы с готовыми решениями:

Как сделать, что бы в Memo1, на месте (строке) где стоит курсор, выделялась цветом строчка, где стоит печатный курсор «|»?
Как сделать, что бы в Memo1, на месте (строке) где стоит курсор, выделялась цветом строчка, где...

Как сделать так что бы код выполнялся только при нажатии (удерживании кнопки)?
Как сделать так что бы код выполнялся только при нажатии (удерживании кнопки)? то есть нажал я на...

По событию нажатия кнопки нужно, чтобы заполнялось поле text
Здравствуйте. Задача простая, по событию нажатия кнопки нужно что бы заполнялось поле text. Код...

Как сделать при нажатие кнопки активацию Memo
Вопрос такой: Есть button 1 и 2,а так же Memo 1 и 2.Надо,чтобы при нажатие button 1 активировалось...

Как при нажатии одной кнопки сделать "нажатие" другой кнопки?
Как скажем при нажатии одной кнопки сделать "нажатие" другой кнопки? Именно чтобы была анимация...

9
Dialord
8 / 8 / 0
Регистрация: 14.01.2010
Сообщений: 32
10.12.2010, 22:37 2
не помню точно, но там есть параметр .select либо .current
1
Elman12
7 / 7 / 1
Регистрация: 10.12.2010
Сообщений: 64
11.12.2010, 10:41  [ТС] 3
Цитата Сообщение от Dialord Посмотреть сообщение
не помню точно, но там есть параметр .select либо .current
Куда его вписать???
private void button10_Click(object sender, EventArgs e)
{
vvod_A.Text = vvod_A.Text + "1";

}

private void button2_Click(object sender, EventArgs e)
{
vvod_A.Text = vvod_A.Text + "2";
}

private void button3_Click(object sender, EventArgs e)
{
vvod_A.Text = vvod_A.Text + "3";

Это я пробовал для одного текстового текстового поля еще есть vvod_B.Text , vvod_C.Text
Как дополнить программный код?
P.S я только начинаю осваивать программирование, поэтому заранее прошу ня извинить за возможные некорректные вопросы....
0
wartur
15 / 9 / 0
Регистрация: 17.03.2010
Сообщений: 36
11.12.2010, 12:23 4
Сколько я себе представляю работу с формами, то если нажимаешь на кнопку, то фокус с поля теряется, единственная возможность это смотреть изменения фокусов твоих текст боксов.

В WPF это перехватывается собтием FocusableChanged.
Далее нужно создать класс перехватчик твоих 3-х текстбоксов, а потом когда уже начинаешь набирать на виртуальной клавиатуре (если я правильно понял о чем реч), то контроллер виртуальной клавиатуры должен спрашивать у перехватчика какой фокус был последним.

Код приводить не буду, лень, удачи.
1
11.12.2010, 12:23
Elman12
7 / 7 / 1
Регистрация: 10.12.2010
Сообщений: 64
12.12.2010, 09:21  [ТС] 5
Цитата Сообщение от wartur Посмотреть сообщение
Сколько я себе представляю работу с формами, то если нажимаешь на кнопку, то фокус с поля теряется, единственная возможность это смотреть изменения фокусов твоих текст боксов.

В WPF это перехватывается собтием FocusableChanged.
Далее нужно создать класс перехватчик твоих 3-х текстбоксов, а потом когда уже начинаешь набирать на виртуальной клавиатуре (если я правильно понял о чем реч), то контроллер виртуальной клавиатуры должен спрашивать у перехватчика какой фокус был последним.

Код приводить не буду, лень, удачи.

хххххххх спасибо!!!
Стало легче!!!
0
EatingPeopleIsFun
67 / 66 / 10
Регистрация: 14.06.2009
Сообщений: 310
Записей в блоге: 1
12.12.2010, 09:40 6
хм. а если создадим переменную типа TextBox и назовем ее t.
при клике в каждый текстбокс создадим событие которое будет запоминать этот текстбокс в нашу переменную
C#
1
t = vvod_A;
и проч.

ну а при клике по кнопкам такие события:
C#
1
2
3
4
private void button10_Click(object sender, EventArgs e)
{ 
t.Text +=  "1";
}
сработает?
0
Unril
803 / 694 / 109
Регистрация: 06.10.2010
Сообщений: 825
Записей в блоге: 1
12.12.2010, 10:10 7
Кидаем на форму два TextBox и две кнопки. К текстовым полям создаём события Focus Leave.
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
53
54
#region using
 
using System;
using System.Windows.Forms;
 
#endregion
 
namespace WindowsFormsApplicationTest
{
    public sealed partial class UserInterface : Form
    {
        private int _currentTextBox;
 
        public UserInterface()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            const string TEXT = "button1_Click";
            ChooseTextBox(TEXT);
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            const string TEXT = "button2_Click";
            ChooseTextBox(TEXT);
        }
 
        private void ChooseTextBox(string text)
        {
            switch (_currentTextBox)
            {
                case 0:
                    textBox1.Text = text;
                    break;
                case 1:
                    textBox2.Text = text;
                    break;
            }
        }
 
        private void textBox1_Leave(object sender, EventArgs e)
        {
            _currentTextBox = 0;
        }
 
        private void textBox2_Leave(object sender, EventArgs e)
        {
            _currentTextBox = 1;
        }
    }
}
0
Elman12
7 / 7 / 1
Регистрация: 10.12.2010
Сообщений: 64
12.12.2010, 14:18  [ТС] 8
ммммммм нег, все равно заполняется только одно поле....
может я не правильно что-то делаю??
Код
{

    public partial class Form1 : Form
    {
        double a, b, c, D, x1, x2;
        string Sa, Sb, Sc;
        TextBox peremennaz ;
вот я ввел переменную
Код
private void Form1_Load(object sender, EventArgs e)
        {
            peremennaz = vvod_A;
            peremennaz = vvod_B;
            peremennaz = vvod_C;
        }        
        private void button10_Click(object sender, EventArgs e)
        {            
            peremennaz.Text += "1";            
           
          
        }
вот код для кнопки..
так заполняется только последнее поле - vvod_C

Добавлено через 3 часа 48 минут
Цитата Сообщение от Unril Посмотреть сообщение
Кидаем на форму два TextBox и две кнопки. К текстовым полям создаём события Focus Leave.
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
53
54
#region using
 
using System;
using System.Windows.Forms;
 
#endregion
 
namespace WindowsFormsApplicationTest
{
    public sealed partial class UserInterface : Form
    {
        private int _currentTextBox;
 
        public UserInterface()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            const string TEXT = "button1_Click";
            ChooseTextBox(TEXT);
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            const string TEXT = "button2_Click";
            ChooseTextBox(TEXT);
        }
 
        private void ChooseTextBox(string text)
        {
            switch (_currentTextBox)
            {
                case 0:
                    textBox1.Text = text;
                    break;
                case 1:
                    textBox2.Text = text;
                    break;
            }
        }
 
        private void textBox1_Leave(object sender, EventArgs e)
        {
            _currentTextBox = 0;
        }
 
        private void textBox2_Leave(object sender, EventArgs e)
        {
            _currentTextBox = 1;
        }
    }
}
тое не работает, заполняется только одно поле, и при нажатии второй кнопки стирается то что уже было напечатанно....
0
NickoTin
Почетный модератор
Эксперт .NET
8648 / 3600 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
12.12.2010, 15:49 9
Подключи все текстбоксы к одному событию и дальше примерный код:
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
        TextBox active;
 
        // Общее событие для всех TextBox'ов
        private void textBox_Enter ( object sender, EventArgs e ) {
            if (sender is TextBox)
                active = (TextBox)sender;
        }
 
        private void button1_Click ( object sender, EventArgs e ) {
            if (active != null) {
                active.Text += "1";
            }
        }
 
        private void button4_Click ( object sender, EventArgs e ) {
            if (active != null) {
                active.Text += "2";
            }
        }
 
        private void button3_Click ( object sender, EventArgs e ) {
            if (active != null) {
                active.Text += "3";
            }
        }
 
        private void button2_Click ( object sender, EventArgs e ) {
            if (active != null) {
                active.Text += "4";
            }
        }
 
        private void button5_Click ( object sender, EventArgs e ) {
            if (active != null) {
                active.Clear();
            }
        }
0
Elman12
7 / 7 / 1
Регистрация: 10.12.2010
Сообщений: 64
13.12.2010, 17:38  [ТС] 10
спасибо, я попробую))
0
13.12.2010, 17:38
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.12.2010, 17:38

Как сделать чтобы при нажатие кнопки появлялось сообщение
Помогите пожалуйста как сделать чтобы при нажатие кнопки на форме появлялось сообщение например...

Поле в котором можно нажать только кнопки которые стоят рядом (морской бой)
Идея морского боя. Реализовать хочу так, есть поле (10х10) и дается возможность разместить корабли...

Как сделать что бы по нажатие кнопки зашло в игру включило консоль и автоматическе ввело подключение
Как сделать что бы вот нажал на кнопку запускается игра открывается консоль на букву F1 потом...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.