Aktuálně: Postihly zákazy tvou profesi? Poptávka po ajťácích prudce roste, využij podzimní akce 30% výuky zdarma!
Pouze tento týden sleva až 80 % na e-learning týkající se JavaScript
JavaScript týden
Avatar
Jan Rathouský:17. října 19:54

Ahoj, potřeboval bych poradit, jak nastavím to, aby, když otevřu ve Form1 panelu Form2 tak ve Form2 mám tlačítko. To když se zmáčkne, tak se z panelu na Form1 Form2 vymaže, a otevře se Form3¨

Tohle je Form1 včetně tlačítka, které otevře v Panelu Form2

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

    public void OpenSlaveForm(Form podrizenyForm, object btnSender)
    {

        if (activeForm != null)
        {
            activeForm.Close();
        }
        activeForm = podrizenyForm;
        podrizenyForm.TopLevel = false;
        podrizenyForm.FormBorderStyle = FormBorderStyle.None;
        podrizenyForm.Dock = DockStyle.Fill;
        this.pnlMain.Controls.Add(podrizenyForm);
        this.pnlMain.Tag = podrizenyForm;
        podrizenyForm.BringToFront();
        podrizenyForm.Show();
        string nazev = podrizenyForm.Text.ToUpper();


    }

    private void btnForm1_Click(object sender, EventArgs e)
    {
        OpenSlaveForm(new Forms.Form2(), sender);
    }
}

Toto, je Form2. A tlačítko, které by mělo vymazat přepsat panel na Form1 a otevřít v tomto Panelu Form3 - bohužel mi to otevírá úplně nové okno, a to je špatně.

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

    private void btnForm2_Click(object sender, EventArgs e)
    {
        Form1 frm = new Form1();
        frm.OpenSlaveForm(new Forms.Form3(), sender);
        frm.Show();
    }
}

Chci docílit: Snažím se dosáhnout toho, aby se v panelu na Form1 otevírali okna, která vyvolám tlačítkem, které je právě v otevřeném okně.

Editováno 17. října 19:57
 
Odpovědět
17. října 19:54
Avatar
JerryM
Člen
Avatar
JerryM:18. října 13:15

pokud chceš tohle dělat musíš znát handle na dané okno globálně, t.j. vytvořit si globální "statickou" třídu se statickým konstuktorem a statickými proměnnými a tu pak zavolat pokaždé, když chceš získat ukazatel na dané okno

 
Nahoru Odpovědět
18. října 13:15
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Odpovídá na JerryM
Jan Rathouský:18. října 13:16

Mohl bych tě poprosit o příklad prosím?

 
Nahoru Odpovědět
18. října 13:16
Avatar
JerryM
Člen
Avatar
 
Nahoru Odpovědět
18. října 13:54
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 4 zpráv z 4.