Как сделать отображение приложения.NET Windows Forms как значок панели задач?

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

] В шаблоне, который мы пишем, есть два типа имен, которые можно использовать - зависимые имена и не зависимые имена. Зависимое имя - это имя, которое зависит от параметра шаблона; неизменяемое имя имеет то же значение, независимо от параметров шаблона.

Например:

template< typename T > void foo( T& x, std::string str, int count )
{
    // these names are looked up during the second phase
    // when foo is instantiated and the type T is known
    x.size(); // dependant name (non-type)
    T::instance_count ; // dependant name (non-type)
    typename T::iterator i ; // dependant name (type)

    // during the first phase, 
    // T::instance_count is treated as a non-type (this is the default)
    // the typename keyword specifies that T::iterator is to be treated as a type.

    // these names are looked up during the first phase
    std::string::size_type s ; // non-dependant name (type)
    std::string::npos ; // non-dependant name (non-type)
    str.empty() ; // non-dependant name (non-type)
    count ; // non-dependant name (non-type)
}

То, что зависит от зависимого имени, может быть чем-то другим для каждого конкретного экземпляра шаблона. Как следствие, шаблоны C ++ подвержены «двухфазному поиску имен». Когда шаблон сначала анализируется (до того, как выполняется какое-либо создание), компилятор просматривает не зависящие имена. Когда происходит конкретное создание шаблона, параметры шаблона известны к тому времени, и компилятор ищет зависимые имена.

На первом этапе анализатор должен знать, является ли зависимое имя именем типа или имени не-типа. По умолчанию зависимым именем считается имя не-типа.

Использовать ключевое слово typename только в объявлениях шаблонов и определениях, приведенных ниже.

blockquote>

у вас есть квалифицированное имя, которое относится к типу и зависит от параметра шаблона.

19
задан ΩmegaMan 13 May 2019 в 12:52
поделиться

5 ответов

Во-первых, добавьте управление NotifyIcon к Форме. Затем обеспечьте электричеством Уведомлять Значок, чтобы сделать то, что Вы хотите.

, Если Вы хотите, чтобы это скрылось к лотку на, минимизируют, пробуют это.

Private Sub frmMain_Resize(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Resize
    If Me.WindowState = FormWindowState.Minimized Then
        Me.ShowInTaskbar = False
    Else
        Me.ShowInTaskbar = True
    End If
End Sub

Private Sub NotifyIcon1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles NotifyIcon1.MouseClick
    Me.WindowState = FormWindowState.Normal
End Sub

я буду иногда использовать текст Воздушного шара для уведомления пользователя - который сделан как таковой:

 Me.NotifyIcon1.ShowBalloonTip(3000, "This is a notification title!!", "This is notification text.", ToolTipIcon.Info)
20
ответ дан 30 November 2019 в 04:16
поделиться

Можно добавить компонент NotifyIcon от панели инструментов на основную форму.

Это имеет события, такие как MouseDoubleClick, который можно использовать для обработки различных событий.

Редактирование: необходимо удостовериться, что Вы устанавливаете свойство Icon на допустимый .ico файл, если Вы хотите, чтобы оно обнаружилось правильно в systray.

6
ответ дан 30 November 2019 в 04:16
поделиться

Миленькое учебное руководство при использовании класса NotifyIcon здесь: http://www.developer.com/net/csharp/article.php/3336751

2
ответ дан 30 November 2019 в 04:16
поделиться

Это показывает и обрабатывает все комбинации щелчка мышью для NotifyIcon

Больше здесь: https://archive.codeplex.com/? p=notifyicon

0
ответ дан 30 November 2019 в 04:16
поделиться

Добавьте компонент NotifyIcon к своей форме. И используйте, это - события для обработки щелчков мышью.

0
ответ дан 30 November 2019 в 04:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: