Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
7 / 7 / 4
Регистрация: 07.09.2012
Сообщений: 178
1

Не удаётся проверить корректность ввода данных в текстовое поле

13.04.2013, 16:28. Просмотров 909. Ответов 8
Метки нет (Все метки)


Всем привет есть вин форма
нужно сделать следующие что бы рандомно генирировалась буква,
затем что бы если пользователь вводит эту буквы правильно в текст бокс,генерировалась следующая,пока пользователь не ошибётся.
пробовал сравнивать таким образом
C#
1
2
3
4
5
6
7
8
9
 if (textBox1.Text==symbwol)
            {
                MessageBox.Show("Правильно,не теряйте темп");
                textBox1.Clear();   
                _counter++;
                label2.Text = "Набрано очков: " + _counter;
            }
            else MessageBox.Show("Вы проиграли!!!");
            textBox1.Clear();
но оно каждый раз пишет что вы проиграли.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.04.2013, 16:28
Ответы с готовыми решениями:

Обновление данных в Access после ввода в текстовое поле
как сделать так чтоб при вводе в полях (на фото стрелки) обновлялась информация в таблицах (на фото...

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

Проверить корректность ввода скобок!
Помогите пожалуйста! Для введенной с клавиатуры строки программа должна определить, корректно ли...

Ограничение ввода в текстовое поле
Необходимо создать TextBox, который запрашивает у пользователя его имя. Если пользователь оставляет...

8
656 / 526 / 137
Регистрация: 07.07.2011
Сообщений: 1,232
13.04.2013, 16:36 2
Вы сравниваете весь текст:
C#
1
textBox1.Text==symbwol
С символом, а вам нужно последнюю букву если я правильно понял.
Сделать можно так:
C#
1
textBox1.Text[textBox1.Text.Length - 1] == symbol
Ой простите... не заметил что вы очищаете текстбокс.
Нужно больше кода, а именно тот кусок где вы случайным образом задаете свой символ.
А пока можете попробовать вот так:
C#
1
(char)textBox1.Text==symbwol
0
7 / 7 / 4
Регистрация: 07.09.2012
Сообщений: 178
13.04.2013, 16:38  [ТС] 3
Дмитрий3241, не так вы поняли)у меня переменная String в неё генерируется рандомно одна! буква,и показывается на экран,если пользователь правильно ввёл её в текст бокс то должна генерироваться след буква,и так пока не будет допущена ошибка.
0
656 / 526 / 137
Регистрация: 07.07.2011
Сообщений: 1,232
13.04.2013, 16:39 4
Vlad_, покажите код всего проекта.
0
7 / 7 / 4
Регистрация: 07.09.2012
Сообщений: 178
13.04.2013, 16:39  [ТС] 5
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
 private void button1_Click(object sender, EventArgs e)
        {
            _timer.Start();
            this.textBox1.ReadOnly = false;
            Random rnd = new Random();
            Char[] pwdChars = new Char[26] { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' };
            symbwol = Convert.ToString(pwdChars[rnd.Next(0, 25)]);
            label1.Text = string.Empty;
            label1.Text +="Введите этот символ в тектовое поле: "+ symbwol;
        }
 
        private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
           
            if (textBox1.Text==symbwol)
            {
                MessageBox.Show("Правильно,не теряйте темп");
                textBox1.Clear();   
                _counter++;
                label2.Text = "Набрано очков: " + _counter;
            }
            else MessageBox.Show("Вы проиграли!!!");
            textBox1.Clear(); 
            _timer.Stop();
        }
0
656 / 526 / 137
Регистрация: 07.07.2011
Сообщений: 1,232
13.04.2013, 16:49 6
Рабочий вариант.
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
using System;
using System.Windows.Forms;
 
namespace WindowsFormsApplication2
{
    public partial class Form1 : Form
    {
        char symbol;
 
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click( object sender, System.EventArgs e )
        {
            symbol = (char)new Random().Next( 97, 123 );
            label1.Text = string.Format( "Символ: {0}", symbol.ToString() );
        }
 
        private void TextChanged( object sender, EventArgs e )
        {
            if ( ( sender as TextBox ).Text == symbol.ToString() )
                MessageBox.Show( "+" );
            else
                MessageBox.Show( "-" );
 
            ( sender as TextBox ).Clear();
        }
    }
}
0
7 / 7 / 4
Регистрация: 07.09.2012
Сообщений: 178
13.04.2013, 16:55  [ТС] 7
Дмитрий3241, опять таки не рабочий,оно по любому сначала пишет - а только когда 2 раз вводишь тот же самый символ тогда +,и как сделать что бы дальше сиволы продолжали появляться?
0
656 / 526 / 137
Регистрация: 07.07.2011
Сообщений: 1,232
13.04.2013, 17:05 8
Ммм ну вы не просили полный код, сейчас сделаю.

Добавлено через 8 минут
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
using System;
using System.Windows.Forms;
 
namespace WindowsFormsApplication2
{
    public partial class Form1 : Form
    {
        char symbol;
 
        public Form1()
        {
            InitializeComponent();
            generateSymbol();
        }
 
        void generateSymbol()
        {
            symbol = (char)new Random().Next( 97, 123 );
            label1.Text = string.Format( "Символ: {0}", symbol.ToString() );
        }
 
        private void textBox1_TextChanged( object sender, EventArgs e )
        {
            if ( ( ( sender as TextBox ).Text != string.Empty ) )
                if ( ( sender as TextBox ).Text == symbol.ToString() )
                    MessageBox.Show( "+" );
                else
                    MessageBox.Show( "-" );
 
            generateSymbol();
            ( sender as TextBox ).Clear();
        }
    }
}
1
7 / 7 / 4
Регистрация: 07.09.2012
Сообщений: 178
13.04.2013, 17:11  [ТС] 9
Дмитрий3241, всё хорошо,спасибо.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.04.2013, 17:11

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

Проверить корректность ввода элементов матрицы
Ввод элементов матрицы А(m, n) осуществляется в произвольном порядке тройками чисел < i, j, Aij>....

Нужно проверить на корректность ввода E-mail адреса
Допустим пользователь вводит _____@___.___ Как мы можем проверить эти три ↑ ..... ...

RegExp: проверить корректность ввода имени и пароля
Здравствуйте! Никогда раньше не сталкивался с RegExp, и, поползав по интернету, не очень пока...

Сложить два числа, проверить корректность ввода
Есть задача сложить два числа, при этом проверять корректны ли исходные данные (числа не содержат...


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

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

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