トップページ⇒tech
982コメント293KB

くだスレC#

■ このスレッドは過去ログ倉庫に格納されています
0001毛の生えたブリーフNGNG
このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しく
レスをしてくれるスレッド」です。

ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは
質問者自身なんだか意味がよく分からない質問など、勇気をもって書き込んで
ください。
0153151NGNG
>>152 なんかゴチャゴチャ書いてるけど、俺も意味わかりません (´Д`;)
133の言う通りのデザインを作って143さんのとこのリンクに書いてるコードをうなりながら入力したんよ
0154124NGNG
>>133さんのデザインってボタン3つ作ってるけど
そのボタンの役割についてなにもかかれてないけど
これじゃあ、どんなプログラム作ればいいかわからない。
??ランチャ?もしかしてソフトを起動するだけのプログラム??
んー例題の意味すらわからない・・・
0155デフォルトの名無しさんNGNG
>>151
名前が衝突してますがな。

>    private System.Windows.Forms.Button button1;
                              ↑
>    class button1 : Button
         ↑
0156デフォルトの名無しさんNGNG
というか、そういう問題じゃないな。
0157デフォルトの名無しさんNGNG
>>151 まだ詳しくは見ていないが
>class button1 : Button

buttonクラスを定義する必要はないはずだ。
この定義が上で作ったボタンのインスタンスとかぶっているからそのエラーが出る。
0158デフォルトの名無しさんNGNG
生徒が3人に先生も3人くらい居るようだなw
0159124NGNG
私的にはフォームコントロールをひとつひとつ学んでいく方がいいなあ。
利用法とか便利な使い方とか
ひとつのアプリを作るなんて私には到底無理です。
ヘルプ見ても意味さっぱりですし・・
--------------------------------------------------------------------
コントロール内の選択された項目のインデックスを取得します。

[C#]
public ListView.SelectedIndexCollection SelectedIndices {get;}
プロパティ値
選択された項目のインデックスを格納している ListView.SelectedIndexCollection 。項目が現在選択されていない場合は、空の ListView.SelectedIndexCollection が返されます。
-----------------------------------------------------------------------------------------------

こんなヘルプなんて見てもわかりません
0160デフォルトの名無しさんNGNG
>>159
通報しますた。
0161143NGNG
作ったけど、どこUPしようか?
どうせだからprojectごと圧縮かましてUPったほうが良いと思うのだが。
0162124NGNG
>>160
なんで通報するの?
0163124NGNG
もうかれこれ3日悩んでます、誰か教えてー

すいません。どうしてもわからないのでくだらない質問させてもらいます。
ListViewで複数選択されている項目をサブ項目とともに削除したいのですが
ListBoxならこんな感じでいけるのですがこれと同じ動作をするものありますか?

while(listBox1.SelectedIndex != -1)
{
  listBox1.Items.RemoveAt(listBox1.SelectedIndex);
}

ListViewでこんな感じでやってるのですがうまくいきません。
listView1.Items.Remove(listView1.SelectedIndices);

よろしくおねがいします
0164143NGNG
http://members.tripod.co.jp/kajusan/LauncherTest1.zip

とりあえずランチャーのサンプル。
作法で叩かれるの承知の上で出します(w
0165デフォルトの名無しさんNGNG
>>164
strFileっつー版画利案っぽいのは感心しないなw
それから

//ファイル名ね。"\"のままでのいけるようだ。鬱だ。
\を\\にエスケープする必要があるのは " "で囲んだ文字列だけじゃないかと。

それから全ボタンが同じ処理ならば配列かなんかに叩き込んで一括で書いたほうがすっきりするかと。
0166デフォルトの名無しさんNGNG
>>163
その1

  ListView.ListViewItemCollection items = listView1.Items;
  ListView.SelectedIndexCollection sels = listView1.SelectedIndices;

  foreach (int index in sels) {
    items.RemoveAt(index);
  }

その2

  ListView.ListViewItemCollection items = listView1.Items;
  ListView.SelectedListViewItemCollection sels = listView1.SelectedItems;

  foreach (ListViewItem item in sels) {
    items.Remove(item);
  }
0167143NGNG
おおう。グサグサッときたw

>165
ハンガリアン記法は、なんかクセになっちゃって…。
これでないと、なんか不安なっちゃうんだよね。
直さなきゃとは思うのだが…。

>\を\\にエスケープする必要があるのは " "で囲んだ文字列だけじゃないかと。
試したときは、ソース内に直で文字列指定したからか。
なるほど。

>それから全ボタンが同じ処理ならば配列かなんかに叩き込んで一括で書いたほうがすっきりするかと。
そだね。あんまり考えないで適当に作ったから、恥ずかしいところ
いっぱいだ…w
0168166NGNG
その1はダメだね。消すたびにインデックスがずれる。
0169166NGNG
降順で並び替えるのもめんどくさいので、その2がよいかと。
0170124NGNG
>>166
おほほ、すげえ!ありがとう!!
0171124NGNG
>>166
理屈はわかりませんが、うまくいきました!!
感謝です!
0172デフォルトの名無しさんNGNG
>171
コレクションなんだから、foreachで一つずつ消していけって
事では?
0173124NGNG
listView1.SelectedIndices
これってヘルプでは選択項目のインデックスを取得するって書いてあるのに
インデックスの値を返さないで、コレクション?を返してますよね。
それならコレクションを取得するって書けばいいのに・・・
ヘルプの間違い?それとも私がバカなだけ?
こういうどうとでも解釈とれるヘルプの文法でいつも悩んでます。

ListViewの場合はコレクションで消さないと無理なんですね。
コレクションが何であるかもよくわかりませんが。

foreach(ListViewItem item in listView1.SelectedItems)
{
listView1.Items.Remove(item); 
}
一応これでいけるみたいなので使わせてもらいます。
でもこれだとだめなんですよね
foreach(object item in listBox1.SelectedItems)
{
listBox.Items.Add(item);
}
うううむ、ようわからん。

0174143NGNG
うーん。作ったの意味無かったかな……?
0175124NGNG
listView1で選択されている項目(項目2)を削除、それに連動して
listView2(項目2)も削除するには、やはりインデックスが必要だと思うんですが
この場合どうすればいいのでしょうか?
0176デフォルトの名無しさんNGNG
>>175
>>166のその1でインデックスを並べ替えて、降順で消していけばよいかと。
0177124NGNG
>>176
いけました!!
foreach(int idx in listView1.SelectedIndices)
{
 listView1.Items.RemoveAt(idx); 
listView2.Items.RemoveAt(idx);
   }
これってすごく簡単にわかることなのでしょうか?
こういう方法やコレクションの構造とかヘルプに載ってないと思うのですが・・
基本的な何かの知識が不足してるのかな?

int idx=listView1.SelectedIndices;
だとインデックス取得できないけど
int idx in listView1.SelectedIndices;
これだと取得できるんですよね?

ううん、理屈はわからないけど、これでなんとかアプリ完成しそうです。
わたしも知識増えたら質問に答えるようにしたいです。
どうもありがとうございました。
0178デフォルトの名無しさんNGNG
>>177
あれ?並べ替えなくてもOKなの?
実際に試してないから分からんかった。
0179デフォルトの名無しさんNGNG
>>177
foreachは抽象化されたfor
この例だとidxに順番にSelectedIndicesの値がはいって、
それぞれについてブロックの中が実行される。
「このコレクションのやつら、順番に全員処理しちゃって〜」
みたいなのがforeach、コレクションはなんかの集合だと思え。
0180124NGNG
>>178
はい、並べ直さなくてもちゃんと削除できました
>>179
コレクションはなんかの集合・・
なるほど・・

SelectedIndicesって配列で格納されてるんですね、でもこれだと
listView1.Items.RemoveAt(listView1.SelectedIndices[0]); 
項目が選択されていなかったり、重複しようものならエラーがでます。
foreachが一番無難みたいですね

クラスって実際どういう処理を行ってるか見えないので、なんかフラストレーションたまります
0181デフォルトの名無しさんNGNG
>>180
>はい、並べ直さなくてもちゃんと削除できました

んなわきゃない。
最後と最後から2番目の2つを選択して消してみ。
0182151NGNG
あー でかけた! すげぇ 先生イパーイ!
0183124NGNG
>>181
ぐほ!ほんとだ、エラーでました・・・
並べ直さないとだめなのか・・・
こんな簡単な処理したいだけなのに・・なんでもっと簡単にできないんだろう・・

並べ直すってソートするってことでしょうか?
できるだけ順番崩さないで間を詰めるようにしたいのですが。
0184151NGNG
>>143 ランチャやっぱちゃんとできてますね!
でも・・・このフォームをいじって使おうとしてる自分が嫌だ・・・(´Д`;)
自分でわかってないと意味ねー!
0185124NGNG
listView1にて複数選択した項目を削除、同時にlistView2も削除する方法教えてください
0186デフォルトの名無しさんNGNG
>>183
インデックスを大きい順に並べ替えて、後ろの項目から消すようにする。
そうすれば削除で番号がずれても影響が出ないから。

  ListView.ListViewItemCollection cols = listView.Items;
  ListView.SelectedIndexCollection sels = listView.SelectedIndices;

  // 配列にコピー
  int[] arr = new int[sels.Count];
  sels.CopyTo(arr, 0);

  // 配列を並べ替え
  Array.Sort(arr);
  Array.Reverse(arr);

  // 順番に消していく
  foreach (int n in arr) {
    cols.RemoveAt(n);
  }
0187124NGNG
できちゃいました!!いろいろありがとうございました!!
0188デフォルトの名無しさんNGNG
>>184
このランチャだとボタン増やせないね。
ドロップしたら動的にボタンが増えたりすると嬉しくないか?
0189デフォルトの名無しさんNGNG
C#でソケット使うのどうしたらええの?サンプルキボンヌ
0190151NGNG
うーむ 俺は今このソースをいじってどうにかアイコン表示させたいと思ってますよ
それとこの設定はどこに保存されてるのかな?  レジストリ?
0191デフォルトの名無しさんNGNG
C#でwavファイルを指定して音を出したいのですが、どうすればならせるようになるでしょうか?
0192デフォルトの名無しさんNGNG
>>191
.NET Framework にはついてないみたいね。
DllImport を使用するとよろし。
あんまりお勧めはできないけど、手軽にならしたいんだったら sndPlaySound を使いませう。

using System.Runtime.InteropServices;

[DllImport("winmm.dll", EntryPoint="sndPlaySoundA")]
static extern int sndPlaySound(string lpszName, int dwFlags);

sndPlaySound("filename.wav", 1);
0193191NGNG
>>192
どうもありがとうございました。
早速やってみます。
0194デフォルトの名無しさんNGNG
>>143 僕も使わせてもらってます
ボタン増やしてみたんですけど  ここは何をしてるとこですか?
   
//button判別。
Control control = (Control)sender;
String strButtonName = control.Name;
if(strButtonName == "button1")
{
strFile1 = strFile;

}
if(strButtonName == "button2")
{
strFile2 = strFile;
}
if(strButtonName == "button3")
{
strFile3 = strFile;
}
0195デフォルトの名無しさんNGNG
ボタンの判別。
同じ関数がすべてのボタンに割り当てられてるので
どのボタンが押されたのが判別する必要がある。
押されたボタンオブジェクトがsenderにはいるので、その名前で判別してるわけ。
0196デフォルトの名無しさんNGNG
if (sender == button1)
とかのほうが、パフォーマンス良いかも。
0197デフォルトの名無しさんNGNG
クラスってそもそもなんですか?
例えば「犬」っていうオブジェクトがあったとしますよね?
そのプロパティは「身長・体重・毛色」 メソッドは「走る・鳴く・噛み付く」

で、この例でクラスを説明するとどうなりますかね?

0198143NGNG
>194
>195の説明の通りです。
あんまり無駄に関数増やすの嫌いなので…。読みにくくなるし。
メソッド間の動作の違いが少ないなら、そういうやり方もあると
いう事です。

>188のような動作をさせるなら、Buttonを配列等で管理して
やる必要がありますね。

>151
デフォルトからの変更点はだいたい>143に書いたとおりなので、
どこが違うのかを探してもらえればよろしいかと。
その上で、新しくプロジェクトを開いて、コピペではなく手打ちで
ソース構築してみてください。横に置いて見ながらでも良いので。

さて、アイコン取得はどうすれば良いのだろうか…w
0199143NGNG
>197
クラスは、犬そのものを表現します。その特徴と行動ですね。
犬のクラスのオブジェクト作成すると、そこにあるのは1個体
としての犬です。別のオブジェクトを作成すると、また別の犬
を表します。その区別は、プロパティで行います。
(身長や体重や毛色を別にセットすれば、区別出来ます。
名前も入れるのは当然ですが。)
自然に考えれば、犬によってその行動も異なりますが、実際
にクラス設計する場合は、その差異も全てプログラミング
することになります。(メソッド内部でプロパティをチェックして、
どういう特徴を持った犬ならどういう行動をするかを全て
プログラミングする)
0200143NGNG
サンプルあったし(w
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1003826049&res=35
0201143NGNG
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1003826049&res=36
0202デフォルトの名無しさんNGNG
つまり、クラスは犬って事ですね。
0203143NGNG
アイコン取得して表示させるのは出来たが、ポップアップする
ヒントってどうやればいいのだろうか…?
C++Builderなら専用のプロパティが用意されてたのだが…。
0204143NGNG
前回のサンプルに機能追加です。
・アイコン取得、表示
・対象のファイル名をポップアップ表示
http://members.tripod.co.jp/kajusan/LauncherTest2.zip

ToolTip使わなきゃいかんのか。手間にはならんから良いか。
>ポップアップ
0205デフォルトの名無しさんNGNG
>>204
ツールチップが .lnk の名前で出てくるのが惜しまれる。
0206143NGNG
>205
ごはっ。リンク取得します。(素で忘れてた…鬱)
0207143NGNG
修正です。
・アイコン取得、表示
・リンクターゲット取得、ポップアップ表示
http://members.tripod.co.jp/kajusan/LauncherTest2.zip

アイコンのキャッシュのせいかな?うちの環境だと、エクスプローラ
のアイコンがマイコンピュータのアイコンになってしまってる。
鬱だ。
(特異な例だと思うけど、たとえばAniLaPaintだと、ターゲットが
正常に取得されない…っていうか、設定が普通じゃない。
プロパティで見てもおかしい。なんちゅー設定やねん。)
0208124NGNG
「独習C#」という本を一から読み直しているとオブジェクト指向であるC#への
取り組み方が間違っていたように思います。
オブジェクト指向以前の言語では好きなコードから覚えて、プログラムは上から
順に実行されるので順番だけ気にしてコードを打ち込めばそれなりのプログラム
は出来てましたが、このC#はそれが通用しないんですね。
基本である文法をまず学んでから必要なときにコードを学び使用するというのが
一番習得が早そうに思います。
もちろん、記憶力のずば抜けた赤ん坊なら言葉を学ぶように単語(コード)から学んで
それから文章(文法)を成り立てるという方法もいけるでしょうが、私には到底無理です。
もう一度一から基本を勉強してまいります。
0209デフォルトの名無しさんNGNG
何気に良スレ化してるな
0210デフォルトの名無しさんNGNG
Cの初心者本を使い一通りの文法を勉強しただけの初心者です。
Cもまだ全然使いこなせてはいませんが、GUIベースでもっと派手なプログラミングがしたいので、
C#への移行を考えています。
これで問題ないでしょうか?
考え方次第でしょうが、Cを完全にマスターしてからとかC++も一通り勉強したほうがいいのでは
ないかとと思ったりもしています。
どうでしょうか?
0211デフォルトの名無しさんNGNG
>>210
C# と C、C++ は全然違います。
C++ のバージョンアップ版が C# というわけではないので、最終的に C# に移行したいのならそのまま C# 覚えるのが吉。
0212デフォルトの名無しさんNGNG
>>210
C++の深い知識は必要ないけど、Win32 APIは覚えておいた方がいいかも。
GUIやるなら特に。
0213143NGNG
>208
ガソバレ。
自分はそんなに真面目じゃなくて、結構適当にやってますw
基礎は必要だけど、あんまり基礎ばっかりだと気分萎えちゃう
から、やっぱり作りたい物を目標に頑張るのが一番かな?

>210
C系で楽にGUI〜〜ってのだったら、C++Builderを推すんだけど、
すでにC#がC++Builder化しちゃってるから、C#で良いです。
GUIもフォームデザイナが楽で良いんだけど、少しは手打ちで
やったほうが良いと思います。構造が良くわかります。
CやC++もC#のための基礎にはなるけど、それはC#でも学べる
ことだし、特別CからとかC++からとか言うのは考えなくて良いと
思います。
0214210NGNG
>>211さん>>212さん>>143さん
貴重な意見どうもありがとうございました。

もうすでに「始めようC#」の本を購入して体験版でGUIのプログラムを組んでみたのですが
C#をやるためには、Cへのちゃんとした理解やC++の学習も必要なのでは?
と思い質問させていただきました。
0215デフォルトの名無しさんNGNG
すんません>>189なんですけど、逝ってよしですか?
0216143NGNG
>215
Socketはまだ使ったことありませんが……
.NET Framework SDK ドキュメントにSocketクラスがあります。
普通のサンプルも用意されてますし、メソッドの説明にもサンプルがありますよ。
たとえば
http://samples.gotdotnet.com/quickstart/util/srcview.aspx?path=/quickstart/howto/samples/net/TCPUDP/dateTimeClient.src&file=CS\datetimeclient.cs&font=3
とか。どうでしょうか?
0217デフォルトの名無しさんNGNG
>>216
あんたは神です。ありがとう。
0218デフォルトの名無しさんNGNG
>>208

オブジェクト指向というか、フレームワークやクラスライブラリのことね。
全部覚えてから順に使用するってのは確かに最初は効率悪い。
まずは適当に初めて、どっかの段階で立ち止まって全体を(覚えられなくても)
ざっと読むってのを薦めます。

べつにオブジェクト指向に限らず、潤沢に既存コードを再利用可能な状況では
だいたいそんなもんです (Win32 の API とか、unix で人のソース流用とか)。
0219デフォルトの名無しさんNGNG
C#はVB並に簡単に作れて感動ものです
ただ用意された機能の範囲を超える物は作りづらい
これはVBでも同じですけど
コンポーネント指向の宿命でしょうか
0220デフォルトの名無しさんNGNG
>>219
いかにも夏らしいね
0221デフォルトの名無しさんNGNG
143さんのソースを使ってボタンを増やしてみたんだけど
143さんが作ってた3つは正常なのになぜか増やしたボタンが機能しない・・・
まったく同じにコピペしてボタンの数字だけ変えたのに
なんでだろ?
0222デフォルトの名無しさんNGNG
ほんとだな
0223デフォルトの名無しさんNGNG
>>221
ボタン増やしてもできたよ。当たり前か。
数字とかsenderで分岐してるとこ再確認。
0224143NGNG
ヽ(`Д´)ノ ウワァァン

することは
1.フォームデザイナでbutton4を追加。Clickイベントにbutton_Clickセット。
2.クラスForm1内部でString型でfileName4を宣言。
3.コンストラクタ内部で、button1〜3と同様にAllowDrop、DragEnter、
DragDropをセット。
4.Form1_DragDrop内部で、button1〜3と同様にbutton4の処理も追加
5.button_Click内部で、button1〜3と同様にbutton4の処理も追加。
このくらいかと。
1番3番辺りが忘れやすいかな?あと、1〜3の処理をコピペした時に
4として書き換えるのを忘れた箇所があるとか。
一度成功したら、全部手書きでやってみてね。

プログラム板にUP掲示板って無いの?ソースUP用にありそうなものだけど。
0225デフォルトの名無しさんNGNG
>>224
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/index.html
のソース置き場.NET(48)あたり
0226143NGNG
Σ(゚д゚lll)ガーン
今までみてたのは、.NETのスレだけだったのか…。

ソース置き場.NET(48)は、問題のソースじゃなくてサンプルになる
ソースを置く場所だと思うけど。
専用のスレを立てるか、汎用の質問スレを立てるか(Delギコさんが
立ててるけど、これDelphi専用な雰囲気。うーん)したほうが良いと
思うのだが、どうだろうか。
0227221NGNG
キタ━━━━━━(゚∀゚)━━━━━━ !!!!!
143さんのソースでようやくボタン増やせたよ!
原因は「Clickイベントにbutton_Clickセット」でした。。。
昨日何時間もソース見てたんで何がダメなのかサッパリでしたよ
まだまだわかってないんだなぁ

とにかく143さんに感謝!  あなたのおかげで何げに良スレ化してますよ(w
もうちょっと慣れたらチャットソフト作りたいなー!
0228デフォルトの名無しさんNGNG
>>227
>あなたのおかげで何げに良スレ化してますよ(w
ナイス喧嘩の売り方。
俺たちは役立たずか。
じゃあ役立たずなりに振る舞わせてもらう。





































0229デフォルトの名無しさんNGNG
>>228は改行基地外Del厨。放置しましょう。
0230デフォルトの名無しさんNGNG
143さんのやつって「case」ってのは使えないのかな?
0231デフォルトの名無しさんNGNG
>>230
?
E
0232230NGNG
>>231 間違えてた switchステートメントってやつのことです
0233143NGNG
>230
えっと、ドキュメントを見ると、switch文は
ms-help://MS.NETFrameworkSDK.JA/csref/html/vclrfTheSwitchStatement.htm
switch (expression)
{
  case constant-expression:
   statement
   jump-statement
  [default:
   statement
   jump-statement]
}
という定義です。で、評価式であるexpressionの説明では、
  expression
  整数型または文字列型の式。
ということになってます。整数型は関係ない(Cならポインタに
してやってから数値で評価とか出来るけど、C#は知らない)
として、文字列での式評価に関しては、LauncherTest1で
行っているような、Control継承オブジェクトのプロパティName
で行えます。以下のような感じです。
Control control = (Control)sender;
switch(control.Name)
{
  case "button1":
  if(fileName1 != null)
    Process.Start(fileName1);
    break;
}
0234デフォルトの名無しさんNGNG
>>233
ポリモルできないの?
0235デフォルトの名無しさんNGNG
コンテキストメニューでプログラムを終了したいんですけど
privete void exit_Click(object sender, System.EventArgs e)
{
Application.Exit();
}
これやると「無効なトークン 'void' が クラス、構造体またはインターフェイスのメンバ宣言で使用されています。」ってでます
回避する方法はないでしょうか?
0236デフォルトの名無しさんNGNG
>>235
コンパイルエラーじゃん・・・。
前後の行も見直して。
0237デフォルトの名無しさんNGNG
>>235
privete → private
0238235NGNG
まったくお恥ずかしい。。。 上記のエラーはでなくなったんだけど
お、終われませんよ・・・「Application.Exitメソッド」ですよね?
0239143NGNG
>234
えっと、どの部分でしょうか?
>Control control = (Control)sender;
ここは無理です。
error CS0029: 型 'object' を型 'System.Windows.Forms.Control' に暗黙的に変換できません。

switchの評価式に関してでしょうか?
数値型だと
System.Object
System.ValueType
System.Int32
Control型だと
System.Object
System.MarshalByRefObject
System.ComponentModel.Component
System.Windows.Forms.Control
ってことになってますから、無理でしょう。
実際にObject型のsenderをswitch評価式に叩き込んでも、
CS0151が返ってきただけです。

継承先から継承もとへの暗黙の型変換は行えても、その
逆は無理なのでは?
0240143NGNG
解説
このメソッドは全スレッドで実行中のメッセージ ループをすべて停止し、
アプリケーションのウィンドウをすべて閉じます。このメソッドによって、
アプリケーションが強制的に終了させられることはありません。通常、
Exit メソッドは、メッセージ ループ内から呼び出され、強制的に Run を
返します。現在のスレッドだけのメッセージ ループを終了するには、
ExitThread を呼び出します。
注意
Application.Exit メソッドが呼び出されてアプリケーションを終了
する場合、 Form.Closed イベントと Form.Closing イベントは発生しませ
ん。これらのイベントのいずれかに実行する必要がある検証コードがあ
る場合は、 Exit メソッドを呼び出す前に、開いている各フォームに対して
Form.Close メソッドを個別に呼び出す必要があります。


ループ終了のメッセージを通達するだけのメソッドですから、強制的に
終了は出来ませんね。つまりどこかのループがメッセージに応じて
いないと。
FormをClose()させてやったらどうでしょうか?
0241235NGNG
ああ なるほどなるほど
private void Form1_Closing(object sender,System.ComponentModel.CancelEventArgs e)
かな・・・ちょっとやってみます  サンクス
0242235NGNG
うーむ ためしに「quit」っていうボタンを作って
Application.Exitやってみたら普通に終われました。

これをコンテキストメニューを使ってフォーム上の右クリックから終わりたいんです
なんでできないんだろう・・・
0243143NGNG
うちじゃ終われるけど…。
menuItemのClickイベントがおかしいのではと思います。
0244デフォルトの名無しさんNGNG
ランチャいいね!  俺もやってみたけど例えばダブルクリックでランチャ出現とかはできない?
0245143NGNG
どこをダブルクリックして、ランチャー出現させたいの?

DoubleClickイベントだけど、VSのフォームデザイナでは標準では
表示されないね。自分でセットしないと。
0246デフォルトの名無しさんNGNG
>>245 どこでもダブルクリックして出現させたいですね
nrLauncherみたいに
0247デフォルトの名無しさんNGNG
>>245
> DoubleClickイベントだけど、VSのフォームデザイナでは標準では
> 表示されないね。自分でセットしないと。
稲妻マーク押して見るべし
0248143NGNG
>247
今わかった。Buttonにダブルクリックなんてあるわけないヽ(`Д´)ノ ウワァァン
0249デフォルトの名無しさんNGNG
>248 Buttonをダブルクリックじゃなくて何もないところをダブルクリックして出現させるんだよね?
ちょっと調べた結果、Form.Show.Dialogってやつを使うみたいね
0250デフォルトの名無しさんNGNG
>>248
何もないとこのダブルクリックってどやってキャプチャするの?

>>249
なぜにだいあろぐ?
0251250NGNG
">>248" は いらんかった。すまそ。
0252143NGNG
nrLaunchですね。検索かけても全然出てこないで困りましたw

>249
「何もないところ」というより、「どこでも、どんな時でも」と言った
方が正確かと。

>250
APIならイベントプロシージャを作ってやって、結構簡単にイベント
監視出来るんだけど…。.NET単体では無理なのかなぁ。
ドキュメント見てるんだけど、それっぽい(システムレベルでの
イベント監視)のは見あたらない。本スレで聞いた方がいいかな?
■ このスレッドは過去ログ倉庫に格納されています