[ C# / Java ] — начинающим: задаем вопросы

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by procedure, 2 Nov 2008.

  1. jecka3000

    jecka3000 Elder - Старейшина

    Joined:
    15 Mar 2008
    Messages:
    360
    Likes Received:
    54
    Reputations:
    4
    вопрос по с#

    побросал на виндоус форуму кнопок, texbox'ов, label'ов и т.д. кароч оочень много всего...
    мне нужно перейти к коду ВСЕГО что я набросал, то есть не по отдельности к каждому объекту, кликая два раза на моей какой либо кнопке мне покажет ее код из 2-ч строчек, а нужно еще чтобы отобразился код Элементов форм, типа
    GroupBox addAccount = new GroupBox();
    GroupBox information = new GroupBox();
    Button btnAdd = new Button();
    Button btnSumma = new Button();
    Button btnKolichestvo = new Button();
    TextBox Operations1 = new TextBox();
    TextBox Operations2 = new TextBox();
    RadioButton rb8 = new RadioButton();
    RadioButton rb9 = new RadioButton();

    и т.д....
    ибо если все вручную мне суток не хватит))
     
  2. .ATK

    .ATK Active Member

    Joined:
    20 Feb 2009
    Messages:
    143
    Likes Received:
    111
    Reputations:
    9
    form.design.cs
     
    3 people like this.
  3. jecka3000

    jecka3000 Elder - Старейшина

    Joined:
    15 Mar 2008
    Messages:
    360
    Likes Received:
    54
    Reputations:
    4
    с# след. проблема.

    создал проект(windows form application). Все норм запускается....но когда я хочу подредактировать саму форму, т.е. кнопку добавить или бокс какой нить то появляется просто пустая форма, которая появдяется, когда ты только проект создаешь....не могу открыть уже готовую форму....
    в чем трабла, подскажите))
     
  4. BrainDeaD

    BrainDeaD Elder - Старейшина

    Joined:
    9 Jun 2005
    Messages:
    774
    Likes Received:
    292
    Reputations:
    214
    jecka3000, трудно понять твою проблему. описал ты как-то каламбурно. можешь описать по конкретней, какие действия производишь, может скриншот сделай.
     
  5. Chaak

    Chaak Elder - Старейшина

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    Locked=true?
     
  6. jecka3000

    jecka3000 Elder - Старейшина

    Joined:
    15 Mar 2008
    Messages:
    360
    Likes Received:
    54
    Reputations:
    4
    Так с той проблемой разобрался...но есть следующая... (пишу курсач, поэтому есть много вопросов)))
    чтоб было понятнее даю скрин..
    [ Delete ]

    вопрос в следующем:
    Рассмотрим первый груп бокс (Завести счет) и все что находится внутри этого бокса.
    Рассмотрим второй группбокс (Информация о счетах)
    Теперь, как связать эти две группы между собой, то есть,задумка такова...например человек выбирает "Вклад студенческий", ввел фамилию, номер счета и сумму (Отбросим пока что все фильтры, их написать не проблема=)), ну так вот..ввел что требуется и нажал "Создать счет". После нажатия вправой RichBox должно отобразиться Счет номер1
    Иванов Иван Иванович,
    номер счета: 1234567
    сумма: 76443367

    После очередного нажатия:

    Счет номер N
    и тут т.д..


    Вот как это реализовать (Вроде понятно разъяснил=))
     
    #446 jecka3000, 26 May 2010
    Last edited: 27 May 2010
  7. Chaak

    Chaak Elder - Старейшина

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    Создай переменную в классе отображения, например, int checksCount = 0;
    далее на клике кнопки
    и т.д
     
    2 people like this.
  8. BrainDeaD

    BrainDeaD Elder - Старейшина

    Joined:
    9 Jun 2005
    Messages:
    774
    Likes Received:
    292
    Reputations:
    214
    ну например так. самое простое:
    Code:
    private void buttonCreateAccount_Click(object sender, EventArgs e)
            {
                textBoxAccountInfo.Text = String.Format(
                "{0}Счет номер:{1}{5}{2}{5}номер счета:{3}{5}сумма:{4}{5}{5}",
                textBoxAccountInfo.Text, AccCounter++, textBoxFIO.Text, textBoxAccount.Text,
                textBoxBalance.Text, Environment.NewLine);
            }
     
    1 person likes this.
  9. jecka3000

    jecka3000 Elder - Старейшина

    Joined:
    15 Mar 2008
    Messages:
    360
    Likes Received:
    54
    Reputations:
    4
    Chaak, BrainDeaD понял, а должны быть какая та привязка в RadioButton?)
     
  10. BrainDeaD

    BrainDeaD Elder - Старейшина

    Joined:
    9 Jun 2005
    Messages:
    774
    Likes Received:
    292
    Reputations:
    214
    это зависит от условия задания. если в зависимости от выбора типа счёта что-то изменяется, то привязка должна быть. это можно реализовать через if else.
    Code:
                if (radioButton1.Checked)
                {
                    делай рас;
                }
    
                else if (radioButton2.Checked)
                {
                    делай два;            
                }
    
                else
                {
                    делай три;
                }
     
    #450 BrainDeaD, 26 May 2010
    Last edited: 26 May 2010
  11. jecka3000

    jecka3000 Elder - Старейшина

    Joined:
    15 Mar 2008
    Messages:
    360
    Likes Received:
    54
    Reputations:
    4
    Начал писать исключения и нечто другое..создал отдельный класс Account.cs. Создал методов, но они не работают - хз почему

    Code:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    
    namespace WindowsFormsApplication1
    {
        class Account
        {
            string FIO;
            int sum;
            int num;
            public bool check;
    
           
            public Account(string FIO, int num, int sum, bool check)   //конструктор класса
            {
                this.FIO = FIO;
                this.num = num;
                this.sum = sum;
    
                this.check = check;
            }
    
    
            public string fio           //свойство - владелец
            {
                get
                {
                    return FIO;           //действие при обращении в свойству
                }
                set
                {
                    FIO = value;          //действие при изменении свойсва
                }
            }
            public int Num               //свойство - номеер автомобиля
            {
                get
                {
                    return num;             //действие при обращении в свойству
                }
                set
                {
                    num = value;            //действие при изменении свойсва
                }
            }
            public int Sum               //свойство - код региона
            {
                get
                {
                    return sum;             //действие при обращении в свойству
                }
                set
                {
                    sum = value;            //действие при изменении свойсва
                }
            }
    
            public static int TryInt(string strnum)               //метод проверяет тип переменной
            {
                int tryme = 0;
                try                                     //проверяем тип переменной
                {
                    tryme = int.Parse(strnum);
                    return tryme;                       //если переменная целого типа, возвращаем ее
                }
                catch                                    //если тип не int, выводим предупреждение и возвращаем 0
                {
                    MessageBox.Show("Ошибка! Прочитайте инструкцию!", "Ошибка ввода");
                    return 0;                           //возвращаем 0 в случае ошибки
                }
            }
    
    
            public static string TryName(string name)      //проверяем введенное имя 
            {
                string s = name.ToUpper();                //преобразуем все буквы в прописные
    
                if (name.Length == 0 || name.Length == 1 || name.Length == 2 || name.Length > 20)  //проверяем длину строки
                {
                    MessageBox.Show("Ошибка! Прочитайте инструкцию!", "Ошибка ввода");
                    return "<Ошибка>";  //возвращаем строку <Ошибка> если условие не выполняется
                }
    
                else
                {
                    for (int i = 0; i < name.Length; i++)
                    {
                        if ((s[i] < 'А') || (s[i] > 'Я'))    //проверяем что все символы в строке - буквы
                        {
                            MessageBox.Show("Ошибка! Прочитайте инструкцию!", "Ошибка ввода");
                            break;  //если нет - выходим из цикла и возвращаем строку <Ошибка>
                        }
                        else  //выполняем если слово состоит из букв
                        {
                            if (i == (name.Length - 1))
                            {
                                string fl = (s[0].ToString()).ToUpper(); //первая буква в строке - делаем ее заглавной    
    
                                s = fl;
                                for (int j = 1; j < name.Length; j++) //цикл для "составления" слова заново
                                {
                                    s = s + (name[j].ToString()).ToLower(); //"Составляем" слово заново, превращая все буквы кроме первой в прописные
                                }
    
                                return s;  //В результате получае фамилию владельца, написанную с заглавной буквы. Эту строку и возвращаем
                            }
                        }
                    }
                    return "<Ошибка>";     //возвращаем строку <Ошибка>
                }
            }
    }
    }


    Ну и главный класс, который все проверяет и выполняет(Пока рассматриваю только первый ГрупБокс):

    Code:
    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;
    using System.IO;
    
    namespace WindowsFormsApplication1
    {
        public partial class panel : Form
        {
            public panel()
            {
                InitializeComponent();
            }
    
    
    
            private void bt9_Click(object sender, EventArgs e)
            {
                Close();
            }
    
            private void btn1_Click(object sender, EventArgs e)
            {
    
                bool check = false;      //устанавливаем значение логической переменной check
                string FIO = Account.TryName(tb1.Text);                 //проверяем введенные данные в разных методах, и в зависимости от результата создаем новый автомобиль или неичего не делаем (в случае введения некорректных данных)
                if (FIO != "<Ошибка>")
                {
                    string strnum = Account.TryInt(tb2.Text);
                    if (strnum != "<Ошибка>")
                    {
                        int num = Account.TryInt(tb2.Text);
                        if (num != 0)
                        {
                            int sum = Account.TryInt(tb3.Text);
                            if (sum != 0)
                            {
    
    
    
                                if (rb1.Checked)
                                {
    
                                    int AccCounter = 0;
                                    rt1.Text = String.Format(
                                    "{0}Вклад 'Под проценты'\n ФИО:{2}{5} номер счета:{3}{5} сумма:{4}{5}{5}",
                                    rt1.Text, AccCounter++, tb1.Text, tb2.Text,
                                    tb3.Text, Environment.NewLine);
                                }
                                else if (rb2.Checked)
                                {
    
                                    int AccCounter = 0;
                                    rt1.Text = String.Format(
                                    "{0}Вклад 'Сберегательный'\n ФИО:{2}{5} номер счета:{3}{5} сумма:{4}{5}{5}",
                                    rt1.Text, AccCounter++, tb1.Text, tb2.Text,
                                    tb3.Text, Environment.NewLine);
                                }
                                else if (rb3.Checked)
                                {
    
                                    int AccCounter = 0;
                                    rt1.Text = String.Format(
                                    "{0}Вклад 'Студенческий'\n ФИО:{2}{5} номер счета:{3}{5} сумма:{4}{5}{5}",
                                    rt1.Text, AccCounter++, tb1.Text, tb2.Text,
                                    tb3.Text, Environment.NewLine);
                                }
                                else if (rb4.Checked)
                                {
    
                                    int AccCounter = 0;
                                    rt1.Text = String.Format(
                                    "{0}Вклад 'Пенсионный'\n ФИО:{2}{5} номер счета:{3}{5} сумма:{4}{5}{5}",
                                    rt1.Text, AccCounter++, tb1.Text, tb2.Text,
                                    tb3.Text, Environment.NewLine);
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    
    Ну во-первых, ругается на MessageBox, говорит не сущетсвует в текущем контексте=)
    во-вторых,
    "WindowsFormsApplication1.Account" не содержит определение для "TryName" Это самое основное... + ко всему методы не пашут...то есть я могу вводить шо хочу...очень странно...мож кто знает в чем трабла?))
     
    #451 jecka3000, 27 May 2010
    Last edited: 27 May 2010
  12. Irdis

    Irdis Elder - Старейшина

    Joined:
    6 Feb 2006
    Messages:
    248
    Likes Received:
    52
    Reputations:
    3
    чё это за мясо?
    тут у вас проблема с {}
     
  13. jecka3000

    jecka3000 Elder - Старейшина

    Joined:
    15 Mar 2008
    Messages:
    360
    Likes Received:
    54
    Reputations:
    4
    подправил, но все равно
    Элемент "MessageBox" не существует в текущем контексте
     
  14. Irdis

    Irdis Elder - Старейшина

    Joined:
    6 Feb 2006
    Messages:
    248
    Likes Received:
    52
    Reputations:
    3
    так откуда ему взяться если в Account.cs отсутствует соответствующий using
     
    2 people like this.
  15. jecka3000

    jecka3000 Elder - Старейшина

    Joined:
    15 Mar 2008
    Messages:
    360
    Likes Received:
    54
    Reputations:
    4
    Irdis...спасибо))
    эту проблему решил, но методы все равно не работают..странно..
     
  16. Chaak

    Chaak Elder - Старейшина

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    И что они тебе пишут?
     
  17. Irdis

    Irdis Elder - Старейшина

    Joined:
    6 Feb 2006
    Messages:
    248
    Likes Received:
    52
    Reputations:
    3
    я бы попросил выложить design.cs, но этому мало кто обрадуется...
    поставь брейк поинты на методы, так ты сможешь проверить что не вызывается... с виду всё правильно.
     
  18. BrainDeaD

    BrainDeaD Elder - Старейшина

    Joined:
    9 Jun 2005
    Messages:
    774
    Likes Received:
    292
    Reputations:
    214
    класс Account public?
     
  19. jecka3000

    jecka3000 Elder - Старейшина

    Joined:
    15 Mar 2008
    Messages:
    360
    Likes Received:
    54
    Reputations:
    4
    Да, паблег) ща еще покумекую, мож подругому как нить сделаю=)


    Да, получилось=)))
    Хз почему, но как только убрал условие
    string strnum = Account.TryInt(tb2.Text);
    if (strnum != "<Ошибка>")
    {

    все заработало=))
     
    #459 jecka3000, 27 May 2010
    Last edited: 27 May 2010
  20. BrainDeaD

    BrainDeaD Elder - Старейшина

    Joined:
    9 Jun 2005
    Messages:
    774
    Likes Received:
    292
    Reputations:
    214
    попробуй делать методы не статическими. создаватй объект Account и использовать его методы.
    Code:
    Account acc = new Account();
    acc.TryInt();
    Edit:
     
    #460 BrainDeaD, 27 May 2010
    Last edited: 27 May 2010
Loading...
Similar Threads - Java начинающим задаем
  1. b3
    Replies:
    4
    Views:
    3,033