Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Вопрос С#,Form1 Form2

-

Вопросы и ответы, обсуждения

- Ваши вопросы по C# только в данном разделе

Ответ
 
Опции темы
Старый 08.12.2013, 22:48   #1
 Разведчик
Аватар для kadi123
 
kadi123 никому не известный тип
Регистрация: 24.01.2013
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Вопрос С#,Form1 Form2

Объясните пожалуйста как мне это исправить.
Вот как я обратился с 2 формы в первую

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace PipenoMakazela
{
public partial class Form2 : Form
{
Form1 mainForm;
public Form2(Form1 ff)
{
InitializeComponent();
this.mainForm = ff;
}

int a=30;
private void timer1_Tick(object sender, EventArgs e)
{

a = a-1;
label2.Text = Convert.ToString(a);
if (a <= 0)
{
timer1.Enabled = false;
this.Close();
mainForm.button9.Enabled = true;

}
}
}
}
Но теперь на Form1 не получается открыть Form2 этим кодом.
Form2 frm = new Form2();- Выделяется как ошибка
private void button9_Click(object sender, EventArgs e)
{
frm.Show();
button9.Enabled = false;
}
а если на 2 форме удалить этот код
Form1 mainForm;
public Form2(Form1 ff)
{
InitializeComponent();
this.mainForm = ff;
}
то этот код работает
Form2 frm = new Form2();
private void button9_Click(object sender, EventArgs e)
{
frm.Show();
button9.Enabled = false;
}
PS Вот что пишет в Error list:
PipenoMakazela.Form2' does not contain a constructor that takes 0 arguments
  Ответить с цитированием
Старый 08.12.2013, 23:25   #2
 Разведчик
Аватар для NerdyCodingKid
 
NerdyCodingKid на правильном путиNerdyCodingKid на правильном пути
Регистрация: 18.11.2013
Сообщений: 3
Популярность: 197
Сказал(а) спасибо: 0
Поблагодарили 10 раз(а) в 9 сообщениях
 
По умолчанию Re: Вопрос С#,Form1 Form2

1. Для отрывков кода используй тег code.
2. Не забывай про форматирование - Edit->Advanced->Format document
3. Посмотри в конструктор - ты в него должен передать экземпляр Form1. Что, в принципе, не требуется.
У тебя уже есть поле mainform. Нет никакой надобности в конструкторе Form2 инициализировать это значение. Сделай так:
Поле mainform сделай публичным и статическим. После этого, инициализируй поле Form2.mainform из конструктора Form1:
Код:
Form1()
{
    Form2.mainform = this;
}
А ещё лучше - перенести это поле в Form1 и назови singleton. После этого, убери параметры в конструкторе Form2.
  Ответить с цитированием
Старый 08.12.2013, 23:32   #3
Читер-спонсор
 Рыцарь-защитник
Аватар для Nickitee
 
Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(
Регистрация: 28.08.2009
Сообщений: 603
Популярность: 19129
Золото Zhyk.Ru: 500
Сказал(а) спасибо: 84
Поблагодарили 602 раз(а) в 321 сообщениях
 
По умолчанию Re: Вопрос С#,Form1 Form2

Ты создаёшь экземпляр вот так:
Код:
Form2 frm = new Form2();
Хотя в конструкторе у тебя
Код:
public Form2(Form1 ff)
________________
We are Ducks. We are birds. We like bread. We cryack. Cryack.
  Ответить с цитированием
Старый 25.12.2013, 02:41   #4
 Разведчик
Аватар для Serpol(1)
 
Serpol(1) никому не известный тип
Регистрация: 12.10.2012
Сообщений: 8
Популярность: 10
Сказал(а) спасибо: 2
Поблагодарили 1 раз в 1 сообщении
 
По умолчанию Re: Вопрос С#,Form1 Form2

Смотри, в конструкторе ты выставляешь параметр Form1 ff, а при создании экземпляра ты юзаешь просто метод Form2()
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Помогите!] Form1 запретить развертывание. Boomber™ Вопросы и ответы, обсуждения 3 06.05.2012 15:19
[Помогите!] Form1 and Form2 BinKz Вопросы и ответы, обсуждения 11 29.06.2011 00:21

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 16:16.

Пишите нам: forum@zhyk.ru
Copyright © 2025 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net