Diskuze: Winforms posunutí okna oproti předešlému

C# .NET .NET (C# a Visual Basic) Winforms posunutí okna oproti předešlému American English version English version

Avatar
n5ver
Člen
Avatar
n5ver:

Ahoj, poradil by mi někdo jak docílit toho, aby se okna v Windows Forms aplikaci zobrazovala tak jako na obrázku? Předem děkuji.

 
Odpovědět 22.1.2015 17:41
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na n5ver
Jan Vargovský:

Tohle je defaultní chování.

 
Nahoru Odpovědět 22.1.2015 17:44
Avatar
n5ver
Člen
Avatar
n5ver:

Dobře, ale když nastavím pozici pro první okno na střed obrazovky, tak už se další okna otevíraná z toho prvního takto nechovají, ať jim nastavím jakou chci pozici při zobrazení.

 
Nahoru Odpovědět 22.1.2015 17:49
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na n5ver
Jan Vargovský:

Nastav tam zase defaultní StartPosition.

 
Nahoru Odpovědět 22.1.2015 17:54
Avatar
n5ver
Člen
Avatar
n5ver:

To jsem nastavil, ale když to první okno šoupnu tak se mi sice další zobrazují tam, kde původně bylo a né tam, kde teď je.

 
Nahoru Odpovědět 22.1.2015 18:23
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na n5ver
Jan Vargovský:

Tak si napiš umístění formuláře sám.

 
Nahoru Odpovědět 22.1.2015 20:15
Avatar
n5ver
Člen
Avatar
n5ver:

No to bohužel neumím... Doufal jsem, že by mi někdo poradil.

 
Nahoru Odpovědět 22.1.2015 20:31
Avatar
Odpovídá na n5ver
Michal Štěpánek:

Můžu vědět, k čemu je to dobré? Monitor má určité rozlišení a rozměry a když dělám aplikaci, potřebuji, aby se mi to okno zobrazilo pokud možno tak, aby na něm bylo vidět všechno. Když se mi větší form otevře až od prostředka monitoru a já bych kvůli zobrazení musel ten form někam "přešoupnout", byl bych z takového programu pěkně otrávený a prohlásil bych o něm, že je špatně udělaný...

Nahoru Odpovědět 22.1.2015 20:41
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
n5ver
Člen
Avatar
n5ver:

No to se nestane, prtože okna jsou poměrně malá.

 
Nahoru Odpovědět 22.1.2015 23:30
Avatar
rwn
Člen
Avatar
Odpovídá na n5ver
rwn:

Jak už bylo řečeno, musíš si to umístit normálně přes pozici, jediné co potřebuješ vědět je pozice toho okna, ke kterému to řadíš. Např:

private void button1_Click(object sender, EventArgs e)
{
    Point position = new Point(this.Location.X, this.Location.Y); // v this.Location je pozice Form1

    for (int i = 0; i < 6; i++)
    {
        position.X += 50;
        position.Y += 50;

        Form newForm = new Form();
        newForm.StartPosition = FormStartPosition.Manual;
        newForm.SetDesktopLocation(position.X, position.Y);
        newForm.Show();
    }
}

Přičemž, si do position na začátku uložím pozici toho hlavního Form1 a následně si generuju ostatní okna,kde jim počáteční pozici nastavuju manuálně a to na zmíněný - upravený position dle libosti. Samozřejmě ten Form1 má také StartPosition na manual a nachází se na souřadnici Location. :)

Editováno 23.1.2015 6:00
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět 23.1.2015 5:59
Co můžeš naprogramovat dnes, neodkládej na zítřek.
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 10 zpráv z 10.