Visual C++ .NET/GUI Form/NotifyIcon
Версия от 15:31, 26 мая 2010; (обсуждение)
NotifyIcon Demo
using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;
public ref class Form1 : public System::Windows::Forms::Form
{
public:
Form1(void)
{
InitializeComponent();
}
System::Windows::Forms::Button^ bnTaskBar;
System::Windows::Forms::Button^ bnNotify;
System::Windows::Forms::NotifyIcon^ notifyIcon;
System::Windows::Forms::ContextMenuStrip^ menuExit;
System::Windows::Forms::ToolStripMenuItem^ miExit;
void InitializeComponent(void)
{
System::ComponentModel::ComponentResourceManager^ resources =
(gcnew System::ComponentModel::ComponentResourceManager(Form1::typeid));
this->bnTaskBar = (gcnew System::Windows::Forms::Button());
this->bnNotify = (gcnew System::Windows::Forms::Button());
this->notifyIcon =
(gcnew System::Windows::Forms::NotifyIcon());
this->menuExit =
(gcnew System::Windows::Forms::ContextMenuStrip());
this->miExit = (gcnew System::Windows::Forms::ToolStripMenuItem());
this->menuExit->SuspendLayout();
this->SuspendLayout();
//
// bnTaskBar
//
this->bnTaskBar->Location = System::Drawing::Point(28, 59);
this->bnTaskBar->Name = L"bnTaskBar";
this->bnTaskBar->Size = System::Drawing::Size(131, 23);
this->bnTaskBar->TabIndex = 3;
this->bnTaskBar->Text = L"Toggle TaskBar Icon";
this->bnTaskBar->Click +=
gcnew System::EventHandler(this, &Form1::bnTaskBar_Click);
//
// bnNotify
//
this->bnNotify->Location = System::Drawing::Point(28, 12);
this->bnNotify->Name = L"bnNotify";
this->bnNotify->Size = System::Drawing::Size(131, 23);
this->bnNotify->TabIndex = 2;
this->bnNotify->Text = L"Toggle Notify Icon";
this->bnNotify->Click +=
gcnew System::EventHandler(this, &Form1::bnNotify_Click);
//
// notifyIcon
//
this->notifyIcon->ContextMenuStrip = this->menuExit;
this->notifyIcon->Icon = (cli::safe_cast<System::Drawing::Icon^>
(resources->GetObject(L"notifyIcon.Icon")));
this->notifyIcon->Text = L"Notify Icon Example";
this->notifyIcon->Visible = true;
//
// menuExit
//
this->menuExit->Items->AddRange(
gcnew cli::array< System::Windows::Forms::ToolStripItem^>(1)
{this->miExit});
this->menuExit->Name = L"miExit";
this->menuExit->RightToLeft =
System::Windows::Forms::RightToLeft::No;
this->menuExit->Size = System::Drawing::Size(153, 48);
//
// miExit
//
this->miExit->Name = L"miExit";
this->miExit->Size = System::Drawing::Size(152, 22);
this->miExit->Text = L"E&xit";
this->miExit->Click +=
gcnew System::EventHandler(this, &Form1::miExit_Click);
//
// Form1
//
this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
this->ClientSize = System::Drawing::Size(192, 106);
this->Controls->Add(this->bnTaskBar);
this->Controls->Add(this->bnNotify);
this->Icon = (cli::safe_cast<System::Drawing::Icon^>
(resources->GetObject(L"$this.Icon")));
this->Name = L"Form1";
this->Text = L"Notify Icon";
this->menuExit->ResumeLayout(false);
this->ResumeLayout(false);
}
private:
System::Void bnNotify_Click(System::Object^ sender,
System::EventArgs^ e)
{
notifyIcon->Visible = !notifyIcon->Visible;
}
System::Void bnTaskBar_Click(System::Object^ sender,
System::EventArgs^ e)
{
this->ShowInTaskbar = ! this->ShowInTaskbar;
}
System::Void miExit_Click(System::Object^ sender,
System::EventArgs^ e)
{
Application::Exit();
}
};
}
[STAThreadAttribute]
int main(array<System::String ^> ^args)
{
Application::Run(gcnew Form1());
return 0;
}