Навсегда скрыть panel при нажатии на button

222
21 апреля 2017, 17:53

При запуске программы появляется panel1. Нужно чтобы если пользователь нажмет на button1, панель не появится до следующих запусков программы.

Answer 1
private void button1_Click(object sender, EventArgs e)
        {
            panel1.Visible = false;
            panel1.Enabled = false;
        }
Answer 2
        private void HideShowBtn_Click(object sender, EventArgs e)
        {
            panel.Visible = !panel.Visible;
            panel.Enabled = !panel.Enabled;
        }
Answer 3
Скрыть панель можно так:
private void button1_Click(object sender, EventArgs e)
{
     panel1.Visible = false;
}

Что бы при следующем запуске она была скрыта, нужно сохранить значение в файл. Приведу небольшой пример как это можно сделать. Допустим у нас есть какой либо TextBox в котором есть текст. нам нужно создать класс в который мы будем записывать значение данной переменной.

public class Settings
        {
            public string TextBoxText;
        }

После чего при нажатии на button1 текст запишется в файл.

    private void button1_Click(object sender, EventArgs e)
    {
        Settings settings = new Settings();
        settings.TextBoxText = textBox1.Text;
        using (Stream writer = new FileStream("Settings.xml", FileMode.Create))
        {
            XmlSerializer serializer = new XmlSerializer(typeof(Settings));
            serializer.Serialize(writer, settings);
        }
    }

А при запуске программы мы просто будем считывать данный файл:

public Form1()
{
    InitializeComponent();
    LoadSettingsSerializer();
}
private void LoadSettingsSerializer()
{
    using (Stream stream = new FileStream("Settings.xml", FileMode.Open))
    {
        XmlSerializer serializer = new XmlSerializer(typeof(Settings));
        Settings settings = (Settings)serializer.Deserialize(stream);
        textBox1.Text = settings.TextBoxText;
    }
}
READ ALSO
Подсчет ширины контрола, по длине строки

Подсчет ширины контрола, по длине строки

Собственно есть старый и мохнатый уже легаси код, контролы реализованы на WinForms, а времени и денег на переписывание на WPF нетуЕго используем...

194
Canvas, как панель для набора элементов, и Behaviors

Canvas, как панель для набора элементов, и Behaviors

Мне нужно в качестве панели для элементов указать Canvas и подключить возможность перемещать элементы в ней

247
Как прицепиться к окну?

Как прицепиться к окну?

Можно ли как то привязать окно моей программы к окну другой программы?

199