掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
アイドル処理を手動で[ストップ][スタート] (ID:67805)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
イベントハンドラを動的に削除・追加するようにする。 最初の状態はどっちになるのでしょうか? フォームが立ち上がった瞬間からスタートしてもよいのであれば > Application::Idle += gcnew EventHandler(%frm, &Form1::OnIdle); をForm_Loadに記述します。 [STAThreadAttribute] int main(array<System::String ^> ^args) { // コントロールが作成される前に、Windows XP ビジュアル効果を有効にします Application::EnableVisualStyles(); Application::SetCompatibleTextRenderingDefault(false); // メイン ウィンドウを作成して、実行します Application::Run(gcnew Form1()); return 0; } Form1.h int counter; public: System::Void OnIdle(System::Object^ sender, System::EventArgs^ e) { ++this->counter; } private: void IdleStart() { Application::Idle += gcnew System::EventHandler(this, &Form1::OnIdle); } void IdleStop() { Application::Idle -= gcnew System::EventHandler(this, &Form1::OnIdle); } System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { MessageBox::Show(this->counter.ToString()); } System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) { this->IdleStart(); } System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) { this->IdleStart(); } System::Void button3_Click(System::Object^ sender, System::EventArgs^ e) { this->IdleStop(); } ただし、IdleStart->IdleStartと連続で押されるのを考慮していないのでフラグなり、 ボタンを触れなくするなりして対処してください。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.