Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)

Diskuze: Rozhranie C# WF

C# .NET .NET (C# a Visual Basic) Rozhranie C# WF American English version English version

Aktivity (3)
Avatar
Oli Wonder
Člen
Avatar
Oli Wonder:12. září 21:50

Zdravim chcem sa opytať otazku. Keď mám v okne(Form) povytvárane rozhranie ( buttony, label) tak neni možne ich zneviditeľniť aby som na ne mohol dať ine komponenty? Pretožr napr. Po kliknuti na tlačidlo sa zneviditeľni button1 a ukáže sa button2 . A chcem aby počas návrhu nebolo vidieť button1

 
Odpovědět 12. září 21:50
Avatar
Kryštof Řezáč:13. září 6:24

button1.enabled = false;
Nebo
button1.visible=fal­se;
Nebo můžeš změnit text tlačítka a když na něj někdo klikne tak ověříš jestli kliknul,
když tam bylo napsaný x nebo y

Editováno 13. září 6:26
 
Nahoru Odpovědět 13. září 6:24
Avatar
David Oczka
Redaktor
Avatar
Odpovídá na Oli Wonder
David Oczka:13. září 9:04

Jestli chápu správně tak Ti jde o to, aby nebyla komponenta viditelná ještě před spuštěním aplikace, což je možné, ale asi pouze s vlastními komponentami, kterým bys vložil do implementace "[DesignTimeVi­sible(false)]". Tento atribut zapřičiní, že komponenta zmizí z okna Designeru i z Toolboxu.

Teď k proveditelnosti. Myslím, že je to naprosto zbytečný přístup, musel bys podědit všechny klasické komponenty. A jak už píše Kryštof, je mnohem lepší vytvořit tlačítko jen jedno a upravovat jeho obsah. Komponenty, které se budou překrývat jsou zmatkem hlavně pro Tebe, takže je lepší se tomu vyhnout.

 
Nahoru Odpovědět 13. září 9:04
Avatar
Odpovídá na David Oczka
Kryštof Řezáč:13. září 14:50

Komponenty můžeš znevyditelnit hned po spuštění aplikace bez toho aniž bys vytvářel vlastní. Dáš to hned za inicializaci.

 
Nahoru Odpovědět 13. září 14:50
Avatar
David Oczka
Redaktor
Avatar
Odpovídá na Kryštof Řezáč
David Oczka:13. září 14:53

Jestli chápu správně tak Ti jde o to, aby nebyla komponenta viditelná ještě před spuštěním aplikace

To je mi taky jasné, že to jinak můžeš zneviditelnit už při zobrazení okna. A dokonce se to dá i z Designeru... ;)

Editováno 13. září 14:54
 
Nahoru Odpovědět  +1 13. září 14:53
Avatar
Oli Wonder
Člen
Avatar
Odpovídá na David Oczka
Oli Wonder:13. září 17:58

Presne toto a ako docielim to ked chcem meniť obsah tlačidla? Lebo po stalčení tlačidla chcem aby mi zmizli exitujuce tlačidla + 2 label boxy a chcem aby sa mi ukázal textbox a label iba . Thats all

 
Nahoru Odpovědět 13. září 17:58
Avatar
Odpovídá na Oli Wonder
Kryštof Řezáč:13. září 19:07

Šlo by to třeba takhle:

namespace ItNetwork
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            label1.Visible = false;
            textBox1.Visible = true;
            button1.Text = "zobraz label";
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if(button1.Text == "zobraz label")
            {
                button1.Text = "zobraz textBox";
                textBox1.Visible = false;
                label1.Visible = true;
            }
            else
            {
                button1.Text = "zobraz label";
                textBox1.Visible = true;
                label1.Visible = false;
            }
        }
    }
}
 
Nahoru Odpovědět 13. září 19:07
Avatar
Oli Wonder
Člen
Avatar
Odpovídá na Kryštof Řezáč
Oli Wonder:14. září 6:32

A keby som potreboval že Najskvor mam 4 buttony 2 labels . Po klkinuti nabutton sa zobrazi text box a veĺky label box kde bude text.

 
Nahoru Odpovědět 14. září 6:32
Avatar
Kryštof Řezáč:14. září 7:46

Takhle si to myslel?

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

            label1.Visible = false;
            label1.Width = 200;
            label1.Text = "Ahoj";

            label2.Visible = true;
            label3.Visible = true;

            button1.Visible = true;
            button2.Visible = true;
            button3.Visible = true;
            button4.Visible = true;

            textBox1.Visible = false;

        }

        private void kliknuti()
        {
            button4.Visible = false;
            button3.Visible = false;
            button2.Visible = false;
            button1.Visible = false;

            label1.Visible = true;
            label2.Visible = false;
            label3.Visible = false;

            textBox1.Visible = true;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            kliknuti();
        }

        private void button4_Click(object sender, EventArgs e)
        {
            kliknuti();
        }

        private void button3_Click(object sender, EventArgs e)
        {
            kliknuti();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            kliknuti();
        }
 
Nahoru Odpovědět 14. září 7:46
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 9 zpráv z 9.