Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
tomekmichalhu:28.5.2014 6:14

Dobrý den, dá se v C# nějak udělat aby byl nějaký formulář a po stisknutí tlačítka by zmizel a objevil se jiný? (v prvním by bylo třeba tlačítko a textbox do kterého by uživatel zadal svoje jméno a ve druhém by byl formulář aplikace)

 
Odpovědět
28.5.2014 6:14
Avatar
Odpovídá na tomekmichalhu
Michal Žůrek - misaz:28.5.2014 6:35

samozřejmě

From2 f = new From2();
f.Show();
this.Close();
 
Nahoru Odpovědět
28.5.2014 6:35
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovídá na tomekmichalhu
Petr Nymsa:28.5.2014 8:07

Mnohem lepší je aktuální form nezavírat a druhý zobrazit pomocí ShowDialog(). Aktuální From se tím zneaktivní - tj klasické chování desktop aplikací

Nahoru Odpovědět
28.5.2014 8:07
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
tomekmichalhu:28.5.2014 11:39

já bych potřeboval aby oboje obsluhovala 1 classa, nebo abych dostal data z jedný classy do druhý

 
Nahoru Odpovědět
28.5.2014 11:39
Avatar
tomekmichalhu:28.5.2014 15:19

tak to už jsem vyřešil konstruktorem ale objevil se další problém, první okno nezmizí. tohle je první okno:

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;

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

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            Form2 okno2 = new Form2(textBox1.Text);

            okno2.ShowDialog();
        }
    }
}

a tady druhé (zatím jen vypíše do labelu to co jsem zadal v první okně do textBoxu):

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;

namespace mygame
{
    public partial class Form2 : Form
    {
        string name = "jmeno";
        string name2;

        public Form2(string sName)
        {
            name = sName;
            name2 = sName2;
            InitializeComponent();
        }

        private void Form2_Load(object sender, EventArgs e)
        {
            label1.Text = name;
        }
    }
}
 
Nahoru Odpovědět
28.5.2014 15:19
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na tomekmichalhu
Jan Vargovský:28.5.2014 15:22

A proč by mělo zmizet, když ho nikde nerušíš a ani nevoláš Hide()?

 
Nahoru Odpovědět
28.5.2014 15:22
Avatar
tomekmichalhu:28.5.2014 15:42

přidal jsem do programu:

Form1 okno1 = new Form1();
okno1.Hide();

ale nic se nezměnilo, jak udělám aby úplně zmizelo?

Editováno 28.5.2014 15:43
 
Nahoru Odpovědět
28.5.2014 15:42
Avatar
Odpovídá na tomekmichalhu
Neaktivní uživatel:28.5.2014 15:51

Pokud to okno chceš zavřít udělal bych to jak píše misaz.

Nahoru Odpovědět
28.5.2014 15:51
Neaktivní uživatelský účet
Avatar
Martin
Člen
Avatar
Martin:28.5.2014 15:58

C# prakticky neznám, nevím jestli je možno použít ale co okno1.visible = false;

Nahoru Odpovědět
28.5.2014 15:58
Je jedno co děláš, ale záleží jak dobře to umíš prodat.
Avatar
tomekmichalhu:28.5.2014 16:08

no tak jsem tam dal this.Close(); a vyplo mi to celou aplikaci (mám pocit že se to první okno chová jako metoda main)

 
Nahoru Odpovědět
28.5.2014 16:08
Avatar
tomekmichalhu:28.5.2014 16:12

už jsem to vyřešil, dal jsem this.visible = false;

 
Nahoru Odpovědět
28.5.2014 16:12
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na tomekmichalhu
Jan Vargovský:28.5.2014 16:13

Nějaký form musí být hlavní...

private void button1_Click(object sender, EventArgs e)
         {
             Hide();
             Form2 okno2 = new Form2(textBox1.Text);
             okno2.ShowDialog();
         }

To je vše.

 
Nahoru Odpovědět
28.5.2014 16:13
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 12 zpráv z 12.