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

программа работает алгоритм работы понимаю только как некоторые фрагменты кода работают не понятно!

06.02.2013, 19:50. Показов 940. Ответов 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
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
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 m2k
{
public partial class Form1 : Form
{
     public Form1()
    {
              InitializeComponent(); // для чего это? что она делает???
    }
 
      private void textBox1_KeyPress(object sender,KeyPressEventArgs e) //опишите (object sender и KeyPressEventArgs e) что они делают? 
          {
                // Правильными символами считаются цифры, запятая, <Enter> и <Backspace>.  
                //Будем считать правильным символом также точку, но заменим ее запятой. 
               // Чтобы запрещенный символ не отображался в поле редактирования, присвоим значение true свойству Handled параметра e
                 if ((e.KeyChar >= '0') && (e.KeyChar <= '9'))  // цифра
                     {
                         return; // для чего здесь? return что она возвращает??????
                      }
                  if (e.KeyChar == '.')
                        {
                                    /   / точку заменим запятой
                           if (e.KeyChar == ',')
                             {
                                 if (textBox1.Text.IndexOf(',') != -1)
                                {
                                     // запятая уже есть в поле редактирования
                                    e.Handled = true;
                                }
                                     return; // для чего здесь? return что она возвращает?
                        }
            if ( Char.IsControl (e.KeyChar) )
              {
                                    // <Enter>, <Backspace>, <Esc>
                       if ( e.KeyChar == (char) Keys.Enter)// нажата клавиша <Enter> установить курсор на кнопку OK
                     
                         button1.Focus();
                    return; // для чего здесь? return что она возвращает?
               }
                             // остальные символы запрещены
                            e.Handled = true;
}
 
// щелчок на кнопке OK
   private void button1_Click(object sender, EventArgs e)
    {
         double mile; // расстояние в милях
         double km; // расстояние в километрах
// Если в поле редактирования нет данных,
// то при попытке преобразовать пустую
// строку в число возникает исключение.
        try
          {
             mile = Convert.ToDouble(textBox1.Text); //зачем преобразовать текст в тип Double?
              km = mile * 1.609344;
             label2.Text = km.ToString("n")  + " км.";    //зачем преобразовать текст в тип String?
 
          }
          catch
         {
             // обработка исключения:
            // переместить курсор в поле редактирования
            textBox1.Focus();
          }
}
}
}
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.02.2013, 19:50
Ответы с готовыми решениями:

Объясните некоторые фрагменты кода
всем привет, если незатруднит, проясните как работает одна функция в данном коде:...

Объясните пожалуйста некоторые фрагменты кода?
Объясните пожалуйста некоторые фрагменты кода? ОБЪЯСНИТЬ ЗНАЧЕНИЕ СЛЕДУЮЩИХ ФРАГМЕНТОВ КОДА: ...

Синтаксис в Visual C++. Объяснить некоторые фрагменты кода
Привет! Возникли некоторые вопросы, связанные с синтаксисом. ПС: Программу нашел в интернете,...

Не понятно,как работает программа
Объясните пожалуйста,как работает программа(желательно пошагово и для каждой цели). Она либо...

8
1055 / 862 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
06.02.2013, 19:58 2
1. return может не только возвращать значение, а служить как прерывание функции, то есть строки ниже return не будут выполняться.
2. для программы есть большая разница между строчкой символов и числом. Она не умеет умножать строку на строку, зато умеет находить подстроку в строке, отдельный символ в строке. С типами данных, которые представляют числовые значение программа умеет выполнять различные математические операции, но не может выполнить действия, которые доступны при работе со строкой.
3. каждая переменная программы имеет собственный тип. и невозможно переменной одного типа присвоить значение другого типа. Некоторые типы переводятся автоматически, но в не случае перевода числа в строку.(а поле label Text имеет именно строковый тип)
1
0 / 0 / 0
Регистрация: 05.02.2013
Сообщений: 12
06.02.2013, 20:21  [ТС] 3
Learx, textBox по умолчанию принимает тип STRING???
0
1055 / 862 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
06.02.2013, 20:25 4
C#
1
label2.Text = km.ToString("n") + " км.";
тут вы обращаетесь к полю Text объекта типа Label. Это поле имеет тип string, потому и требуется здесь явное преобразование double в string.
1
0 / 0 / 0
Регистрация: 05.02.2013
Сообщений: 12
06.02.2013, 20:36  [ТС] 5
да, я уже понял что поле Text объекта типа Label имеет тип string. а поле Text объекта типа textBox тоже имеет тип string?
0
1055 / 862 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
06.02.2013, 20:42 6
тип поля видно когда обращаешься к нему. во всплывающей подсказке слева.
0
0 / 0 / 0
Регистрация: 05.02.2013
Сообщений: 12
06.02.2013, 21:07  [ТС] 7
в поле textBox1.Text первым символом не должна быть запятая ! как это организовать?
0
1444 / 1117 / 344
Регистрация: 11.04.2011
Сообщений: 2,615
07.02.2013, 08:18 8
Цитата Сообщение от Nat1990 Посмотреть сообщение
в поле textBox1.Text первым символом не должна быть запятая ! как это организовать?
Заменить
C#
1
if (e.KeyChar == ',')
на
C#
1
if (e.KeyChar == ',' && ((TextBox)sender).SelectionStart > 0)

Не по теме:

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

0
1055 / 862 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
07.02.2013, 10:35 9
посмотрите пример на мсдн. там почти то, что вам нужно.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.02.2013, 10:35

Не понимаю некоторые части кода
Помогите к комментирование пожалуйста #include &lt;iostream&gt; #include &lt;string&gt; using namespace...

Не понятно как работает программа на рекурсию.
Эта программа вычисляет квадраты всех целых чисел от нуля до введённого натурального n, не...

Есть некоторые строчки кода, которые я не понимаю
Добрый день. У меня есть код программ но есть некоторые строчки кода которые я не понимаю. Помогите...

Не понимаю как работает алгоритм
Всем доброго времени суток. Настиг такой вопрос, с которым уже более недели не могу разобраться:...

Не понимаю как работает часть кода
Привет! Есть код using System; using System.Collections.Generic; using System.Linq; using...

View Pager разные фрагменты на страницах, не понимаю как?
помогите догнать куда вставить код из Main'а который отображает разные фрагменты: есть два файла...


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

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

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