Где мне разместить собственный код для обработки события изменения размера C# windows формы - PullRequest
0 голосов
/ 20 июня 2020

Я не могу понять, куда поместить, и не могу получить код для срабатывания при изменении размера моей основной формы windows (ie нажата кнопка минимизации) окно DigiDocketMain свернуто и *

Я пытался разместить это основной код и код конструктора, но ничего не запускает. любая помощь приветствуется.

 private void DigiDocketMain_Resize(object sender, System.EventArgs e)
         {
             MessageBox.Show("You are in the Form.ResizeEnd event.");
             if (this.WindowState == System.Windows.Forms.FormWindowState.Minimized)
             {
                 this.Hide();
                 mainTrayIcon.Visible = true;
             }
         }

Ответы [ 2 ]

1 голос
/ 20 июня 2020

В коде добавьте следующее к событию Form_Load:

this.SizeChanged += Form1_SizeChanged;

Затем реализуйте функцию, автозаполнение может сделать это за вас.

private void Form1_SizeChanged(object sender, EventArgs e)
{
    // Add the code that will be called on resize events.
}
0 голосов
/ 22 июня 2020

Согласно вашему описанию, при нажатии кнопки сворачивания вы хотите скрыть значок панели задач и отобразить значок на панели задач.

Я предлагаю вам установить для параметра Visible of notifyIcon1 значение false на панели свойств и выберите изображение в формате значка в качестве значка, затем попробуйте следующий код.

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

        private void Form1_Deactivate(object sender, EventArgs e)
        {
            if (this.WindowState == FormWindowState.Minimized)
            {
                this.notifyIcon1.Visible = true;
                this.Hide();
                this.ShowInTaskbar = false;
            }

        }

        private void notifyIcon1_Click(object sender, EventArgs e)
        {
            this.Visible = true;
            this.WindowState = FormWindowState.Normal;
            this.notifyIcon1.Visible = false;
            this.ShowInTaskbar = true;

        }
    }
...