C # Как включить форму двойным нажатием на иконку в трее - PullRequest
1 голос
/ 11 января 2010

Я хочу сделать форму по умолчанию невидимой. когда пользователь дважды щелкает по иконке в трее, он должен отображать данные из базы данных. Как мне сделать такую ​​вещь в C #. Я сделал значок в системном трее, но когда я запускаю проект, он также показывает мою форму с пустыми значениями. Заранее спасибо.

Мой значок в трее находится в той же форме.

Ответы [ 2 ]

2 голосов
/ 11 января 2010

Работа со свойством Visible не работает, класс Application включает его, поэтому форма инициализируется правильно. Однако вы можете переопределить SetVisibleCore () для настройки поведения. Вставьте этот код в вашу форму:

bool mLoaded;

protected override void SetVisibleCore(bool value) {
  if (value && !mLoaded) {
    this.CreateHandle();   // Ensure the Load event runs
    value = false;         // Keep invisible
    mLoaded = true;
  }
  base.SetVisibleCore(value);
}
0 голосов
/ 11 января 2010

Я предполагаю, что вы используете WindowsForms и создали иконку в трее с помощью класса NotifyIcon. Установите для свойства Visible формы значение False в конструкторе. Это приведет к тому, что форма начнется как скрытая.

Затем в значках на панели задач Нажмите og. Обработчик события DoubleClick задайте для свойства «Видимость форм» значение True, чтобы оно отображалось. В качестве альтернативы вы можете создать новый экземпляр класса формы здесь и показать это.

...