Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Открытие новой формы при нажатие на кнопку, CheckBox, Button, ListBox 
:(
    Опции темы
vinograd2008
Дата 25.2.2010, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 197
Регистрация: 7.12.2008

Репутация: нет
Всего: нет



Как сделать так чтобы при выборе checkBox2 при нажатии на кнопку button2 в случае если кнопка button1 не была нажата форма закрывалась. А если кнопка button1 была нажата и из списка listBox был выбран элемент при нажатии на кнопку button2 открывалась новая форма?

Код

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace AnimalKingdom
{
    public partial class Main : Form
    {
        private int myVar = 0;

        public Main()
        {
            InitializeComponent();
            comboBox1.Enabled = false;
            groupBox2.Enabled = false;
            listBox1.Enabled = false;
            String[] w = 
            { 
                "Australia",
                "Russia",
                "China",
                "Japan",
                "India",
                "Nepal"
            };
            listBox1.Items.AddRange(w);
        }

        private void checkBox1_CheckedChanged(object sender, EventArgs e)
        {
        }

        private void checkBox2_CheckedChanged(object sender, EventArgs e)
        {
        }


        private void checkBox3_CheckedChanged(object sender, EventArgs e)
        {
            button2.Text = "Show";
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (checkBox1.Checked)
            {
                MessageBox.Show("Animal Name Selection Section Enabled");
                groupBox1.Enabled = false;
                comboBox1.Enabled = true;
                groupBox2.Enabled = true;
                String[] s = 
            { 
                "Обезьяна",
                "Медведи",
                "Бык",
                "Кот и пчела",
                "Кот",
                "Собака",
                "Ослик",
                "Свинья",
                "Белка"
            };
                comboBox1.Items.AddRange(s);

                comboBox1.SelectedIndex = comboBox1.Items.IndexOf(comboBox1.Text);
            }

            if (checkBox2.Checked)
            {
                MessageBox.Show("Country Name Selection Section Enabled");
                listBox1.Enabled = true;
                listBox1.Items.Clear();
                String[] w = 
            { 
                "Australia",
                "Russia",
                "China",
                "Japan",
                "India",
                "Nepal"
            };
                listBox1.Items.AddRange(w);

                if (button2.Text == "Show")
                {
                    button2.PerformClick();
                }
            }

            if (checkBox3.Checked)
            {
                button2.Text = "Show";
                MessageBox.Show("All Animals");
                groupBox1.Enabled = false;
            }

            if (!checkBox1.Checked && !checkBox2.Checked && !checkBox3.Checked)
            {
                MessageBox.Show("All Animals");
                groupBox1.Enabled = false;
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            if (!checkBox1.Checked && !checkBox2.Checked && !checkBox3.Checked)
            {
                this.Close();
            }

            if (checkBox1.Checked)
            {
                this.Close();
            }

            if (checkBox2.Checked)
            {
                if (myVar % 2 == 0)
                {
                    ImageForm NewForm = new ImageForm();
                    NewForm.Show();
                }
                else
                {
                    this.Close();
                }
                myVar = myVar + 1;
            }

            if (checkBox3.Checked)
            {
                if (myVar % 2 == 0)
                {
                    ImageForm NewForm = new ImageForm();
                    NewForm.Show();
                }
                else
                {
                    this.Close();
                }
                myVar = myVar + 1;
            }
        }

        private void comboBox1_ChangeText(object sender, EventArgs e)
        {
            if (comboBox1.SelectedIndex >= 0)
            {
                button2.Text = "Show";
            }
            else
            {
                button2.Text = "Exit";
            }
        }

        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (listBox1.SelectedIndex >= 0)
            {
                button2.Text = "Show";
            }
            else
            {
                button2.Text = "Exit";
            }
        }
    }
}

PM MAIL   Вверх
PaZ1T1V
Дата 1.3.2010, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 169
Регистрация: 26.2.2008
Где: Багдад )

Репутация: нет
Всего: нет



не совсем понятна твоя логика, но, обработка кликов нескольких кнопок делается так: в файле [Твоя форма].Designer.cs в тех строчках типа 
this.button1.Click += new System.EventHandler(this.button1_Click); и this.button2.Click += new System.EventHandler(this.button2_Click); меняем на
this.button1.Click += new System.EventHandler(this.button_Click); и this.button2.Click += new System.EventHandler(this.button_Click);
а в форме пишем такой обработчик: 
      
Код

  private void button_Click(object sender, EventArgs e)
        {
                Button btn = (Button)sender;
                if(btn.Name == "[что надо]")
                {
                       //обработка
                }
        }

 а собственно открытие формы это Form1 form = new Form1();
form.Show или form.ShowDialog()

Это сообщение отредактировал(а) PaZ1T1V - 2.3.2010, 17:20
--------------------
[size=8]Atention please!!![/size]
[size=6]Кривые руки[/size]
PM MAIL WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.0513 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.