Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > Связка форм в Visual Studio


Автор: DotNet 12.4.2007, 14:10
Объясните как в Visual Studio (ручками сам могу) связать 2 формы, нажал на первую открывается 2-я.

Автор: ivashkanet 12.4.2007, 14:23
DotNet, непонял  smile 
А ручками это без Visual Studio? Совсем? (гигант)


DotNet, если же ты говоришь про дизайнер форм, то MS не включила эту функциональность в дизайнер форм.
Для того чтобы ее включить нужно было бы пересмотреть всю структуру дизайнера и т.д. и т.п.

Кладешь на форму кнопку, на нее два раза тискаешь, в появившемся коде обработчика пишешь то, что ты "сам можешь ручками".

Автор: DotNet 12.4.2007, 14:32
А до того как писать в обработчике код, что нужно делать. У меня главная форма, я добавляю 2-ю форму, ставлю в главную форму кнопку и пишу в обработчике событий код: имя_2_формы form = new имя_2_формы (); У меня выдает ошибку:"Это поле а используется как тип" Что не правильно я делаю?

Автор: ivashkanet 12.4.2007, 14:34
http://forum.vingrad.ru/index.php?showtopic=52713

Автор: DotNet 12.4.2007, 14:42
NewForm frm=new NewForm();
frm.textBox1.Text="ля-ля-ля";
frm.ShowDialog();

ну да эт я и делаю а он мне: 
"Error    is a 'field' but is used like a 'type' "

Автор: stashe 12.4.2007, 14:48
Цитата(DotNet @  12.4.2007,  14:32 Найти цитируемый пост)
"Это поле а используется как тип"




Цитата(DotNet @  12.4.2007,  14:42 Найти цитируемый пост)
"Error    is a 'field' but is used like a 'type' " 


Что это (поле)? и должно быть написано вместо пробела что именно генерит ошибку???
подозреваю что студия неправильно имя frm интерпретирует, т.е. видит NewForm =new NewForm();

Автор: DotNet 12.4.2007, 15:01
Хм и что мне делать? все проверил: 1 и 2 форма в одном нэймспэйсе.
Объясните пожалуйста как мне быть. Давайте начнем с : У меня есть форма, я хочу прикрепить к этой(главной) форме другую(вторую) форму. Что мне делать? 

Автор: stashe 12.4.2007, 15:06
ты уверен что твоя вторая форма (класс) называется NewForm?? беру обратно слова с последнего поста...в ошибке гриться что NewForm - поле (переменная), а ты используешь его как тип. Значит де-то тут зарыто сало...если можешь то скинь код

Добавлено через 1 минуту и 33 секунды
NewForm выделяется цветом?

Автор: _Dream 12.4.2007, 15:11
покажи код

Автор: DotNet 12.4.2007, 15:16
Нет кодне могу оставить :( Да и не обязательно зацикливаться на ошибке. Мож я изначально че то не то делаю. Давай просто объясни с самого начала(начиная с адд форм) как связвть две формы. Нет не выделяется(я тож на это обратил внимание)

Автор: stashe 12.4.2007, 15:23
создаешь новый класс к примеру MainForm : Form, лепишь, делаешь там фсе красиво и гламурненько...
потом создаешь еще один класс к примеру SecondForm : Form (аналогично, кнопочки красивые и т.д.)

на событие кнопки MainForm пишешь именно то, что ты и писал...в данном случае будет:
 
SecondForm sForm = new SecondForm();
sForm.MdiParent = this;   // если Mdi
sForm.Show();                 //  либо ShowDialog()
...

вот и всё

Автор: _Dream 12.4.2007, 15:24
код секретен smile
на будущее если так постарайся  создать самый простой проект и там делать
вот например как сделал я
Код

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void simpleButton1_Click(object sender, EventArgs e)
    {
        Form2 _form2 = new Form2();
        _form2.ShowDialog();
    }
}

public partial class Form2 : Form
{
    public Form2()
    {
        InitializeComponent();
    }
}

Автор: stashe 12.4.2007, 15:27
чотбы проверить работает или нет, напиши в любом месте программы SecondForm и если цветом не выделяет....то не оно

Автор: DotNet 12.4.2007, 19:09
В общем разобрался,правда не до конца, но ошибка устранена. Какие то глюки с Нэймспэйсом. Всем пасиба(кто принимал участие smile ) До новых встреч smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)