Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
2 / 2 / 0
Регистрация: 15.02.2011
Сообщений: 22
1

Вывод информации в texBox2 и texBox3 на основании информации texBox1

15.02.2011, 22:57. Показов 2471. Ответов 20
Метки нет (Все метки)

Ребята, начанающему чайнику требуется помощь в написании проги.
Прога пишется под тач скрин монитор, ввод информации через монитор.
Идея заключается в следующем.
На форме кнопки от 0 до 9 с помощью которых в texBox1 в который вводится значение региона.
На основании введеного региона на форму в texBox2 выводится информация по названию региона.
В texBox3 выводится телефон доверия.
Для красоты texBox1 наложен на pictureBox1 но это не главное.
Вопрос в том как организовать вывод информации в texBox2 и texBox3 на основании информации texBox1.

Пример: Регион "01", Название региона "Республика Адыгея", Телефон доверия "(8772) 52-49-68"
на сегодняшний день я как полный чайник сумел написать только следующее:
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
 
        }
 
        private void button0_Click(object sender, EventArgs e)
        {
            textBox1.Text += "0";
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            textBox1.Text += "1";
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            textBox1.Text += "2";
        }
 
        private void button3_Click(object sender, EventArgs e)
        {
            textBox1.Text += "3";
        }
 
        private void button4_Click(object sender, EventArgs e)
        {
            textBox1.Text += "4";
        }
 
        private void button5_Click(object sender, EventArgs e)
        {
            textBox1.Text += "5";
        }
 
        private void button6_Click(object sender, EventArgs e)
        {
            textBox1.Text += "6";
        }
 
        private void button7_Click(object sender, EventArgs e)
        {
            textBox1.Text += "7";
        }
 
        private void button8_Click(object sender, EventArgs e)
        {
            textBox1.Text += "8";
        }
 
        private void button9_Click(object sender, EventArgs e)
        {
            textBox1.Text += "9";
        }
 
        private void button10_Click(object sender, EventArgs e)
        {
            textBox1.Text = "";
        }
 
        private void button11_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }
 
        private void pictureBox1_Click(object sender, EventArgs e)
        {
 
        }
 
        private void label1_Click(object sender, EventArgs e)
        {
 
        }
 
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
 
        }
 
        private void textBox2_TextChanged(object sender, EventArgs e)
        {
                
        }
 
 
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.02.2011, 22:57
Ответы с готовыми решениями:

Ввод информации и вывод информации на экране
Используйте две переменные типа float, предложите пользователю ввести два числа и выведите на экран...

Советы по тренировкам на основании выбранной информации
Скажите пожалуйста как мне сделать если при выборе некоторых положений возраста,пола и.т.д сделать...

Внесение информации в строку на основании содержания соседней
Здравствуйте. Возникла необходимость заполнить большой массив информации. Есть ли возможность...

Передача на сервер файла и ответ сервера на основании информации в файле
Здравствуйте, есть проблема, не могу могу получить ответ от сервера о времени года на основании...

20
962 / 765 / 171
Регистрация: 12.04.2009
Сообщений: 1,700
15.02.2011, 23:29 2
Изучайте пока матчасть, изучите коллекции, классы...
0
26 / 26 / 3
Регистрация: 19.11.2010
Сообщений: 242
16.02.2011, 05:26 3
Создай масcив, или коллекцию со значениями и воспользуйся к примеру конструкцией swith - casе.
Можно даже подписаться на событие PageUp у textbox1 и в нем уже организовать swith case или if-else , тогда данные будут меняться динамически при вводе определенного числа.
И учи мат часть.
0
2 / 2 / 0
Регистрация: 15.02.2011
Сообщений: 22
16.02.2011, 07:57  [ТС] 4
Я всегда знал что наша страна - страна советов. это все равно что человеку увидевшему впервые автомобиль говорят - хочешь ехать, садись в машину и езжай.
Я перерыл кучу книг и форумов и везде мне ни фига не понятно как что создается. Неужели тяжело написать или дать ссылку на конкретный пример. В конце концов я эту прогу замутил для того чтоб выложить ее для людей использующих в CarPC в автомобилях и поможет многим людям избежать беспредела дорожных людей с полосатыми палками.
А матчасть я потихоньку на конкретных примерах изучу.
Короче если кто-то может помочь конкретно то буду очень благодарен.
0
26 / 26 / 3
Регистрация: 19.11.2010
Сообщений: 242
16.02.2011, 09:43 5
Написал на скорую руку, так как на работе...
Разбирайся.....
1
Вложения
Тип файла: rar WindowsFormsApplication1.rar (41.0 Кб, 12 просмотров)
2 / 2 / 0
Регистрация: 15.02.2011
Сообщений: 22
16.02.2011, 14:10  [ТС] 6
Цитата Сообщение от farex_ Посмотреть сообщение
Написал на скорую руку, так как на работе...
Разбирайся.....
Всетаки мир не без добрых людей. СПАСИБО! Правда на работе открыть проект не удалось пишет что нет компонентов шарп и требует нетфрейм ворк 3,5 а у меня четверка стоит. Вобщем дома буду разбираться а пока наковырял то что приведено ниже правда какую бы цифру я не ввел отображается первая запись case 1 Может просто что-то надо подправить в коде и все заработает. А вообще в 43 года начинать учиться програмированию тяжеловато.
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
 
        }
 
        private void button0_Click(object sender, EventArgs e)
        {
            textBox1.Text += "0";
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            textBox1.Text += "1";
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            textBox1.Text += "2";
        }
 
        private void button3_Click(object sender, EventArgs e)
        {
            textBox1.Text += "3";
        }
 
        private void button4_Click(object sender, EventArgs e)
        {
            textBox1.Text += "4";
        }
 
        private void button5_Click(object sender, EventArgs e)
        {
            textBox1.Text += "5";
        }
 
        private void button6_Click(object sender, EventArgs e)
        {
            textBox1.Text += "6";
        }
 
        private void button7_Click(object sender, EventArgs e)
        {
            textBox1.Text += "7";
        }
 
        private void button8_Click(object sender, EventArgs e)
        {
            textBox1.Text += "8";
        }
 
        private void button9_Click(object sender, EventArgs e)
        {
            textBox1.Text += "9";
        }
 
        private void button10_Click(object sender, EventArgs e)
        {
            textBox1.Text = "";
            textBox2.Text = "";
            textBox3.Text = "";
        }
 
        private void button11_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }
 
        private void pictureBox1_Click(object sender, EventArgs e)
        {
 
        }
 
        private void label1_Click(object sender, EventArgs e)
        {
 
        }
 
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
 
            int a = 1;
            switch (a)
            {
                case 01:
                    textBox2.Text = "Республика Адыгея";
                    textBox3.Text = "(8772)52-49-68";
                    break;
 
                case 02:
                    textBox2.Text = "Республика Башкортостан";
                    textBox3.Text = "(3472)35-85-04";
                    break;
 
                case 03:
                    textBox2.Text = "Республика Бурятия";
                    textBox3.Text = "(3012)55-31-25";
                    break;
 
                case 04:
                    textBox2.Text = "Республика Бурятия";
                    textBox3.Text = "(38822)2-00-20";
                    break;
 
                case 78:
                    textBox2.Text = "Санкт-Петербург";
                    textBox3.Text = "(812)335-43-80";
                    break;
 
                case 177:
                    textBox2.Text = "Москва";
                    textBox3.Text = "(495)623-78-92";
                    break;
            }
 
        }
 
        private void textBox2_TextChanged(object sender, EventArgs e)
        {
 
        }
 
        private void textBox3_TextChanged(object sender, EventArgs e)
        {
 
        }
 
        private void pictureBox1_Click_1(object sender, EventArgs e)
        {
 
        }
 
    }
}
0
Заблокирован
16.02.2011, 14:21 7
попробуйте строку 101 вашего кода заменить на
C#
1
switch (textBox1.Text)
строку 100 убрать, а кейсы записать так:case "01":
1
2 / 2 / 0
Регистрация: 15.02.2011
Сообщений: 22
16.02.2011, 14:39  [ТС] 8
Цитата Сообщение от Dzhej-Dzhej Посмотреть сообщение
попробуйте строку 101 вашего кода заменить на
C#
1
switch (textBox1.Text)
строку 100 убрать, а кейсы записать так:case "01":
ГОСПОДИ!!! и ВЕЛИКИЙ Dzhej-Dzhej - Да воздастся Вам по заслугам, за доброту и советы мудрые.
Ведь заработало все. И будет людям счастье!!!
АМИНЬ!!!
0
26 / 26 / 3
Регистрация: 19.11.2010
Сообщений: 242
16.02.2011, 14:44 9
C#
1
2
3
4
5
6
7
 int a = 1;
            switch (a)
            {
                case 01:
                    textBox2.Text = "Республика Адыгея";
                    textBox3.Text = "(8772)52-49-68";
                    break;
Откуда это вообще?
Я же в коде четко написал:
C#
1
2
3
4
5
6
string variant = textbox1.text;
switch(variant)
...
...
...
...
1
2 / 2 / 0
Регистрация: 15.02.2011
Сообщений: 22
16.02.2011, 16:37  [ТС] 10
Цитата Сообщение от farex_ Посмотреть сообщение
C#
1
2
3
4
5
6
7
 int a = 1;
            switch (a)
            {
                case 01:
                    textBox2.Text = "Республика Адыгея";
                    textBox3.Text = "(8772)52-49-68";
                    break;
Откуда это вообще?
Я же в коде четко написал:
C#
1
2
3
4
5
6
string variant = textbox1.text;
switch(variant)
...
...
...
...
Спасибо за то что откликнулся. Ей богу поробую еще и твоим способом когда приду домой, а сейчас все решилось очень просто по совету Dzhej-Dzhej.
Может твой вариант будет работать шустрее, буду попробовать.
Осталось только убрать из программы курсор, так как программа пишется под тачскрин, но думаю немного покапавшись и эту проблему решу.
Еще раз всем спасибо за помощь. Когда закончу то постораюсь сюда выкинуть исходники моей голематьи.
0
83 / 83 / 14
Регистрация: 15.02.2011
Сообщений: 252
16.02.2011, 20:20 11
Попробую набросать что-нибудь. Если даже и не пригодится. Уно моменто
0
83 / 83 / 14
Регистрация: 15.02.2011
Сообщений: 252
16.02.2011, 21:08 12
Проект под VCS 2005 и NET2.0

Структура базы с информацией. XML файл можно открыть с помощью блокнота.
XML
1
2
3
4
5
6
7
<root>
  <region id="01" telephone="12678" info="область" /> 
  <region id="02" telephone="678" info="область" /> 
  <region id="03" telephone="12345678" info="область" /> 
  <region id="04" telephone="123678" info="область" /> 
  <region id="05" telephone="12678" info="область" /> 
</root>
Код программы: (у всех кнопок-цифр ссылка на одно событие button15_Click)
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
55
56
57
58
59
60
61
62
63
64
65
using System;
using System.Text;
using System.Windows.Forms;
using System.Xml;
 
namespace HelpProject
{
    public partial class Form1 : Form
    {
        XmlDocument xmlDoc;
 
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            xmlDoc = new XmlDocument();
            try
            {
                xmlDoc.Load("base.xml");
            }
            catch(System.IO.FileNotFoundException)
            {
                MessageBox.Show("файл базы отсутствует!");
                Application.Exit();
            }
        }
 
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            XmlNode node = xmlDoc.DocumentElement.SelectSingleNode("region[@id='"+textBox1.Text+"']");
            if (node != null)
            {
                textBox2.Text = node.Attributes["telephone"].Value.ToString();
                textBox3.Text = node.Attributes["info"].Value.ToString();
            }
            else
                textBox2.Text = textBox3.Text = "";
        }
 
        private void AddDigit(string d)
        {
            if (textBox1.Text.Length < textBox1.MaxLength)
                textBox1.Text += d.ToString();
        }
 
        private void button15_Click(object sender, EventArgs e)
        {
            AddDigit(((Button)sender).Text);
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            textBox1.Text = "";
        }
 
        private void button3_Click(object sender, EventArgs e)
        {
            if (textBox1.Text.Length > 0)
                textBox1.Text = textBox1.Text.Substring(0, textBox1.Text.Length - 1);
        }
    }
}

Когда закончил, задумался насчет возможности запуска на платформах в автомобилях. =)
0
Вложения
Тип файла: rar HelpProject.rar (54.7 Кб, 8 просмотров)
2 / 2 / 0
Регистрация: 15.02.2011
Сообщений: 22
16.02.2011, 21:52  [ТС] 13
CarPC достаточно новое направление. И все программы и приложения встраиваются в графическую оболочку под тач скрин. Вот и я решил туда внести свою лепту. Вот и замарочился с сим произведением.
Короче вся информация внесена и вот что у меня получилось.
0
Вложения
Тип файла: rar WindowsFormsApplication1.rar (140.8 Кб, 7 просмотров)
83 / 83 / 14
Регистрация: 15.02.2011
Сообщений: 252
17.02.2011, 18:18 14
Цитата Сообщение от ciclop Посмотреть сообщение
CarPC достаточно новое направление. И все программы и приложения встраиваются в графическую оболочку под тач скрин. Вот и я решил туда внести свою лепту. Вот и замарочился с сим произведением.
Короче вся информация внесена и вот что у меня получилось.
Понимаю, что на тачскринах не получится простым путем ввести символы, но все-таки нужно установить свойство ReadOnly у TextBox'ов равным true.
0
2 / 2 / 0
Регистрация: 15.02.2011
Сообщений: 22
17.02.2011, 20:23  [ТС] 15
Цитата Сообщение от GOID Посмотреть сообщение
Понимаю, что на тачскринах не получится простым путем ввести символы, но все-таки нужно установить свойство ReadOnly у TextBox'ов равным true.
Буду пробовать.
А сейчас наткнулся на ошибку в программе.
При вводе к примеру числа 176 программа показывает информацию из case "17" так как регион 176 не введен. Надо что-то прописать чтоб при не нахождении данного значения писало типа "Региона с таким номером нет". Или тупо создавать case и в них прописывать эту информацию аж до 200 региона.
0
26 / 26 / 3
Регистрация: 19.11.2010
Сообщений: 242
18.02.2011, 04:56 16
Цитата Сообщение от ciclop Посмотреть сообщение
Буду пробовать.
А сейчас наткнулся на ошибку в программе.
При вводе к примеру числа 176 программа показывает информацию из case "17" так как регион 176 не введен. Надо что-то прописать чтоб при не нахождении данного значения писало типа "Региона с таким номером нет". Или тупо создавать case и в них прописывать эту информацию аж до 200 региона.
Добавь в switch-case (в конец конструкции) вот это:
C#
1
2
3
4
5
6
7
                default:
                    {
                        if(this.textBox1.Text.Length < 1)
                            break;
                        MessageBox.Show("Такого региона не существует");
                        break;
                    }
0
2 / 2 / 0
Регистрация: 15.02.2011
Сообщений: 22
18.02.2011, 11:15  [ТС] 17
Цитата Сообщение от farex_ Посмотреть сообщение
Добавь в switch-case (в конец конструкции) вот это:
C#
1
2
3
4
5
6
7
                default:
                    {
                        if(this.textBox1.Text.Length < 1)
                            break;
                        MessageBox.Show("Такого региона не существует");
                        break;
                    }
Решил проблемму другим путем.
Вставил в конце всех case следующее:

default:
textBox2.Text = "Регион не найден";
textBox3.Text = "(****)**-**-**";
break;
0
26 / 26 / 3
Регистрация: 19.11.2010
Сообщений: 242
18.02.2011, 11:24 18
Цитата Сообщение от ciclop Посмотреть сообщение
Решил проблемму другим путем.
Вставил в конце всех case следующее:

default:
textBox2.Text = "Регион не найден";
textBox3.Text = "(****)**-**-**";
break;
Но так тебе пришлось добавлять 200 кейсов...
Ну да лан...
Изучайте язык., не быдлокодте пожалуйста!
0
2 / 2 / 0
Регистрация: 15.02.2011
Сообщений: 22
18.02.2011, 13:23  [ТС] 19
Переделал как ты сказал - все работает. Спасибо.
А может еще кто подскажнт как в textBox-е организовать вывод информации в две строки.
Нашел как это делается в MessageBox типа \n но в textBox-е такое не прокатывает
0
26 / 26 / 3
Регистрация: 19.11.2010
Сообщений: 242
18.02.2011, 15:12 20
Цитата Сообщение от ciclop Посмотреть сообщение
Переделал как ты сказал - все работает. Спасибо.
А может еще кто подскажнт как в textBox-е организовать вывод информации в две строки.
Нашел как это делается в MessageBox типа \n но в textBox-е такое не прокатывает
textBox1.Multiline = true;
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.02.2011, 15:12

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Ввод информации в структуру и поиск элемента по информации, находящейся в этом же элементе
В сервис-центре хранятся квитанции о сданной в ремонт аппаратуре. Каждая квитанция содержит...

Какое сообщение согласно теории информации содержит меньше информации?
Какое сообщение согласно теории информации содержит меньше информации? 1. Из сейфа достали...

Программа для получения информации из сайта и присвоения информации переменным
Доброго времени суток, уважаемые пользователи форума! Надеюсь, у Вас сегодня хорошее настроение?...

Запись в текстовый файл информации о студентах, поиск информации, сортировка
Здравствуйте помогите пожалуйста:( 3.1 Для записи в текстовый файл информации о студентах Вашей...

Методы кодирования информации с целью повышения надежности передаваемой информации
Необходимо разработать приложение, с помощью которого можно закодировать информацию. Среда...

Изучение свойств энтропии и информации. Определение состояния технической системы методами теории информации
Почему рекомендуется начинать программу поиска с проверки , сумма вероятностей отказов проверяемых...


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

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

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