Открывать уже созданный, Windows формуляр [закрытого] Forms

У меня есть начальный form так называемый "start", и кнопка так называемый "run". Сейчас я считаю созданным добавочный form, который называется "runf". Как я могу открываться "runf" с кнопки "run". Я попробовал смотреть в Интернете, и ответ - следующий.

Form Formulario = New Form();
Formulario.Show();

Но я не хочу создать формуляр с кода, хочу открыть формуляр, который уже я считаю созданным. В VB.NET он становился одиноким с Формуляром. Шоу (); Кто-то может объяснять мне, потому что в C# он полностью различный? Или я спутан, хорошо, у меня нет идеи.

-2
задан 18.07.2019, 21:52
5 ответов

Тебя представил раствор, который помогал бы в главном формуляре со ссылками в сдержанные окна.

//Variable global a la clase
 Private ventana As FrmVentana = Nothing


//On click sobre el link en la ventana principal al que despliega el el FrmVentana contenida
If (ventana Is Nothing OrElse Not ventana.CanFocus) Then
    ventana = New FrmVentana
    ventana.MdiParent = Me
    ventana.setearUser(Me.usuario)
    ventana.Show()
    ventana.WindowState = FormWindowState.Maximized
Else
    ventana.Focus()
End If

Надеялся, что он подает тебя, estol он делает, что, когда ты нажимаешь на ссылку, если она даже не была создана, или он из-за чего-то не может показывать ее, создает ее. В противоположном случае он показывает уже существующую.

типов Привета

1
ответ дан 03.12.2019, 21:45
  • 1
    Я сожалею о том, что поместил это в vb.net, но он trasaladable в c # < br / и gt; if (окно == null ||! окно. CanFocus) {окно = new FrmVentana (); окно. Шоу (); окно. WindowState = FormWindowState. Maximized} else {окно. Focus ();} – Carlos Cristoforone 07.07.2016, 22:06
  • 2
    Он был бы хорошим, что ты комментируешь нам, что такой он ты пошел, и что ответ ты был полезным. Привет – Carlos Cristoforone 11.07.2016, 01:52

Я предлагаю тебе этот код. Используй form, который оказывается назначенным по умолчанию, не меняя имени ему (оставаясь как Form1) и создай кнопку, измени ему имя из-за run1, ты делаешь ему dobleclick и прикрепляешь контент, который соответствует в этом тексте; Размети остальное, как он появляется в примере.

public partial class Form1: Form

{

public Form1()
  {
  InitializeComponent();
  }

private Form runf;

private void Form1_Load(object sender, EventArgs e)
  {
  runf = new Form()
    {
    Size = new Size (200,100),
    Location = new Point (200,250),
    ShowInTaskbar = false,
    WindowState = FormWindowState.Minimized,
    };

  runf.Show();
  // Resto del codigo del inicio de "start" (Form1) ...
  }

private void run1_Click_1(object sender, EventArgs e)
  {
  if (runf.WindowState == FormWindowState.Minimized)
    runf.WindowState = FormWindowState.Normal;
  else
    runf.Focus();
  }

// Resto de metodos del programa ...

}

Я предлагаю тебе не использовать такие имена как Start или Run, потому что они могут совпадать со специальными словами, или использованные для / из-за C# и давать конфликты во время интерпретирования их.

1
ответ дан 03.12.2019, 21:45

Чтобы мочь звонить или даже формульный ты должен instanciarlo VB.Net

Dim frm As New Form2()
frm.Show()

C#

frmBusqueda frm = new frmBusqueda
frm.Show
2
ответ дан 03.12.2019, 21:45
  • 1
    Но дело в том, что я не понимаю, в VB просто он давал click в создании нового Form и называл этот одинокий Form с Шоу. Я кручу роман – Máxima Alekz 07.07.2016, 03:02
  • 2
    дело в том, что vb он прятал тебя много от кода поэтому, он осуществлялся прямо, в c # trabjas с классами и объектами поэтому ты должен создавать инстанцию form используя " new" и на этой инстанции ты призываешь метод Шоу () – Leandro Tuttini 07.07.2016, 03:54

Я думаю, что это могло бы помогать

CГіmo: Показывать формуляр с другого (Визуальный C#)

краев, которые там он определяет

private void button1_Click(object sender, System.EventArgs e)
{
    Form2 frm = new Form2();
    frm.Show();
}
// Create Form2.
public class Form2: Form
{
    public Form2()
    {
        Text = "Form2";
    }
}

, использует new, чтобы создавать инстанцию form (помнит form - класс, который должен instanciarse), и потом на инстанции ты используешь Шоу (), чтобы показывать forma визуально.

Помнит, что в c# все включенные объекты form

1
ответ дан 03.12.2019, 21:45
  • 1
    Я действительно путался со всем этим. Из-за qu и # 233; Form2 не может являться независимым Form1? – Máxima Alekz 07.07.2016, 04:01
  • 2
    в какое пламя независимый? каждый form - различный класс, который оно будет использовано, чтобы создавать инстанции объектов, в этой точке они независимые. Может быть, проблема состоит в том, что ты был бы должен читать что-то, связанное с POO (Программирование, ориентируемое в obietos), например concoes, что является классом? а ты это знаешь там эта проблему prorque он тебе кажется смущенным – Leandro Tuttini 07.07.2016, 05:23
  • 3
    Hab и # 237; в работая с VB.NET, и cuesti и # 243; n он отличался, когда ты давал ему click в Создании нового Windows Form, так s и # 243; он это был cuesti и # 243; n называния этого с Шоу (); с главного Form. Без необходимости, которой в c и # 243; говорит главный Form (Form1), что верит Form2. Это - то, что он считает по отношению ко мне смущенным – Máxima Alekz 07.07.2016, 05:29
  • 4
    ok, но vb.net он не равен в c #, я продолжаю думать, что ты был бы должен читать что-то еще о POO, чтобы входить в тему. Кроме того это, что ты комментируешь, vb.net, потому что язык маскирует тебе создание инстанции, но как комментирует, что у Педро также есть " New" в vb.net для создании инстанции form (что было бы правильной формой) – Leandro Tuttini 07.07.2016, 05:54
  • 5
    Я буду издавать м и # 225; s поздно вопрос для того, чтобы ты увидел хорошо то, что я пробую сказать. – Máxima Alekz 07.07.2016, 20:03

Если я понял хорошо, ты работаешь в Визуальном C#, твой начальный Form - "start", и кнопка так называемый "run" тот, который будет приводить тебя в формуляр "runf", у это есть линии кода, в котором ты нуждаешься, и это точно следующие:

    private void button_Click(object sender, EventArgs e)
    {
        Form2 f = new Form2 ();
        f.Visible = true;
        this.Dispose(false);
    }

Для того, чтобы эта инструкция подала тебя, ты должен брать следующие рассуждения:

"Form1" он должен будет быть для твоего случая "Start"; "f" сможет быть любой переменной, с которой ты захочешь идентифицировать инструкцию; "Form2" он должен будет быть для твоего случая "Runf"; "Button" должен будет быть "Run".

Нужно отмечать что, если ты не хочешь, чтобы закрылся формуляр "Start", когда он откроет формуляр "Runf", ты будешь должен снимать линию кода

    this.Dispose(false);

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

1
ответ дан 03.12.2019, 21:45