- 1 名前:最凶VB厨房 mailto:sage [2006/08/11(金) 19:40:44 ]
- [前スレ]VB.NET質問スレ (Part16)
pc8.2ch.net/test/read.cgi/tech/1149432480/
- 610 名前:デフォルトの名無しさん mailto:sage [2006/09/29(金) 17:14:01 ]
- >>608
VB.NETのキャストは何種類かある CType(val, T)は汎用。ちなみに失敗するとInvalidCastExceptionが出る。 CIntとかCLngとかは6.0以前の遺産じゃないかな?まあ型指定の手間省けるけど。 これらも変換できないときはInvalidCastExceptionを投げる。 ちなみにTryCast(obj, T)だと失敗したときはNothingが返される。ただし参照型限定。
- 611 名前:デフォルトの名無しさん [2006/09/29(金) 17:38:09 ]
- >>604
Containsで、できました!嬉しいです。ありがとうございました。 ソースをコピペしたとき、なにげなしに、<> のとこを = に変更しちゃったので、 ブラクラになってしまいました。ホントは、Exit Subは下の段です。。 すみませんでした。。
- 612 名前:600 mailto:sage [2006/09/29(金) 17:40:25 ]
- >>607>>609
サンクスです。 基本的に逃げ道は無いということですね…。
- 613 名前:デフォルトの名無しさん mailto:sage [2006/09/29(金) 20:18:33 ]
- >>610
System.Convertと言うのもあるな。
- 614 名前:デフォルトの名無しさん mailto:sage [2006/09/29(金) 22:45:52 ]
- 行き先の型が確定してるなら、DirectCastが良い。
- 615 名前:デフォルトの名無しさん mailto:sage [2006/09/29(金) 23:34:24 ]
- 質問スレと関係ねえけど、先進性を売りにしてるドトネト諸言語でも
キャストと変換が峻別されてないのはどうにかならんかねと思う。
- 616 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 03:32:23 ]
- >行き先の型が確定してるなら、DirectCastが良い。
おかしなことをゆうな。
- 617 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 06:08:03 ]
- 元先って表現が正しかったかね。
あいまいさのない変換ならって意味。
- 618 名前:608 mailto:sage [2006/09/30(土) 09:07:27 ]
- >>610,613,614
回答ありがとうございます 色々試して使い分けられるように頑張ります
- 619 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 14:37:58 ]
- 検索をしようと、ctrl+Fを押下したのですが、検索ボックスが表示されません。
昨日までは、表示されていたのですが・・・ どうしたら表示されるようになるでしょうか?
- 620 名前:619 mailto:sage [2006/09/30(土) 15:08:17 ]
- タスクバーをけしてみたら、画面の下の方に出ていました。
くそ質問ですみませんでした。
- 621 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 17:29:14 ]
- >>620
IDEのツールボックスやウィンドウレイアウトは、オプションから初期 設定に戻すことができるよ。今回のが該当するのか不明だけど、同僚 がいっつもツールボックスを紛失するんで、俺も覚えてしまった。
- 622 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 18:29:41 ]
- VB.NETで非同期イベントってどうやればいいんですか?
C#だとこんな感じでできるのですが //delegate設定 public delegate void testDelegate( object sender, EventArgs e ); //イベント設定 public event testDelegate Tested; //非同期イベント発行 Tested.BeginInvoke(this, EventArgs.Empty, new AsyncCallback(TestedCallback), Tested); //コールバック関数 private void TestedCallback(IAsyncResult ar) { testDelegate callback = ar.AsyncState; callback.EndInvoke(ar); } VBだとTested.BeginInvoke()でエラーがでます。
- 623 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 19:12:09 ]
- >>622
同じようにやればいいんじゃないの? VBでどう書いてどういうエラーが出たんだ?
- 624 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 19:21:32 ]
- >>623
//delegate設定 Public Delegate Sub testDelegate(ByVal sender As Object, ByVal e As EventArgs) //イベント設定 Public Event Tested As testDelegate Tested.BeginInvoke()で「Testedはイベントであるため、 直接呼び出すことはできません。」のエラーがでる。
- 625 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 19:47:06 ]
- Testedをイベントじゃなくて単なるデリゲートにしたら?
イベントハンドラがいらないならイベントである必要はないんだけど。
- 626 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 19:49:14 ]
- >>622
おま、そのC#のほうも、内容わかってないだろ。 内容をまず理解したほうがいい。そうすれば簡単にわかる話だ。 まずはそれからだ!
- 627 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 20:06:24 ]
- てきとーに、イベントに関数を与えるのはAddressofでやるのでは?
- 628 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 21:15:08 ]
- >>622
ああ、C#だとそういう風にイベントをデリゲートとして扱えるのか。。 VBだとたぶんそのコードを「直訳」することはできないね。 ばかばかしいことだけど、RaiseEventでイベントを生成するメソッド(OnTested) を、別のデリゲートで非同期呼び出しする必要がありそう。 この変はイベントを簡単に扱えるようにしているVB.NETの暗黒面かもしれん。 ちなみに、どうでもいいんだけどそういうの非同期イベントっていうのは 正式な用語法なのかな?
- 629 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 21:25:09 ]
- >>628
> ちなみに、どうでもいいんだけどそういうの非同期イベントっていうのは > 正式な用語法なのかな? いんや。 つか 622 のコードはイベントをデリゲートとして扱えてしまう C# の暗黒面。 BeginInvoke はあくまで非同期デリゲートなんだから。
- 630 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 21:31:14 ]
- >>629
それ君の倒錯だと思うけどね俺は。 実際問題、たとえば何らかのデバイスなりストリームなりを監視する ワーカースレッドから、UIスレッドに同期したイベントを生成したいって場合は 少なからずあるんだよ。 そういう場合はVBだと>>628に書いたような非常にばかばかしいコードを書かなきゃならん。
- 631 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 21:36:02 ]
- ちょっとC#勉強してくるノシ
- 632 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 04:17:33 ]
- てかよ、デリゲートの非同期呼び出しはマルチキャストできないんじゃなかったっけ?
つまりそもそもイベント発火すんのにそんなもん使っちゃだめってことだろよ。 UIに同期したいなら面倒でもメソッドいっこかませりゃ済む話でそ?
- 633 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 12:26:44 ]
- >>632
どこにそんなこと書いてあるんだよw
- 634 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 15:04:35 ]
- マイクロソフト公式解説書「プログラミング Visual C# 2005 言語編」
にはっきりと書いてある。
- 635 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 15:18:13 ]
- 書いてあるわけねーw
だってそんなの事実に反するからね だいいちデリゲートにとっちゃ自分のケツを誰が叩いているかなんて 全然関係のない話だろw
- 636 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 15:25:07 ]
- おまえ言ってること勘違いしてないか?
デリゲートの非同期呼び出しはマルチキャストでは使えない(これは上記の本に書いてある)。 イベントはマルチキャストすることが普通にある。 よってイベントをデリゲートの非同期呼び出しで呼び出すのはまずい。 って言ってるんだが。 イベントの発火をデリゲートの非同期呼び出しでやったらまずいってのは 上記からの俺の見解だからlこれは書いてないけどな。
- 637 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 15:58:56 ]
- >>636
勘違いしてるのはたぶん君だと思うよ。 推測でしかないけど、たぶんEndInvoke使って返り値を取れるのは デリゲートが一番最後に呼び出したメソッドだけ、って話とどっかで 混同してるんじゃないの?
- 638 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 16:07:08 ]
- 人によって Control.BeginInvoke を言ってるのか Delegate.BeginInvoke を言ってるのか
バラバラでグダグダになってるな。 非同期デリゲートなんだから Delegate.BeginInvoke の話のはずだが。 EventHandler handler = delegate { Console.WriteLine("a."); }; handler += delegate { Console.WriteLine("b."); }; IAsyncResult ia = handler.BeginInvoke(null, null, delegate(IAsyncResult ar) { handler.EndInvoke(ar); }, null); ia.AsyncWaitHandle.WaitOne(); > ハンドルされていない例外: System.ArgumentException: > デリゲートに指定するターゲットは 1 つでなければなりません。 匿名メソッドは楽じゃのう。
- 639 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 16:23:19 ]
- どうみても>>636が正しいです。
本当にありがとうございました。
- 640 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 16:34:27 ]
- >>637
だから書籍に書いてあるってんのに何をどう勘違いするってんだ。 「BeginInvokeメソッドは、シングルキャストデリゲートに対してのみ使用できます」 って書いてあるっての。
- 641 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 16:37:08 ]
- ああ…つまりそういうことだw
- 642 名前:637 mailto:sage [2006/10/01(日) 17:35:49 ]
- なんか勘違いしてるのは俺の方だったみたいね。。
なんか恥ずかしいなw ってことは、結局非同期的にマルチキャストなイベントを起動しようと思ったら OnXXXを非同期的に呼び出さないとダメってことなのか? C#でもイベントに対してBeginInvokeなんて迂闊に使ったらまずいわけか。
- 643 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 19:05:36 ]
- んーたいていの場合、イベントソースの方が非同期で処理してるんだろうから、
そのままイベント投げればいいと思うんだけどな。 非同期でイベントを発火しなきゃならん状況があんまりうかばないんだが。
- 644 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 19:11:58 ]
- >>643
制御系とかでユーザ操作に関係なく発生するイベントとかは?
- 645 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 19:21:40 ]
- んーじゃなくてさ
非同期で発生するイベントはいろいろ考えられても、 イベントソースの方が非同期でイベントを発火することはあまりないんじゃ?てこと。 ※ソース側のスレッドからさらに非同期でイベントを発火するって話ね。 そりゃ制御系とか、その他、ソース側のワーカスレッドをブロックしては困る場合とかは あるだろうけど、そういうのは少ないんじゃ?ってこと(ないとは言ってない)
- 646 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 20:08:57 ]
- >>645
たとえばHWバッファが貧弱なために一定の時間間隔以下で必ずreadしてやらないと バッファがオーバーフローしてしまうようなデバイスをスレッドでバッファリングしているとして、 特定の値を受信した場合にそのスレッドからイベントを生成したいような場合。 ってちょっと強引な設定か。
- 647 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 20:37:37 ]
- うん、そういう場合は必要だけど、そういう場面はあんまりないんじゃ?ってだけね。
- 648 名前:デフォルトの名無しさん [2006/10/03(火) 03:11:24 ]
- System.IO.File.Copy("C:\Hoge.txt", "C:\Foo\Bar.txt", True)
上記の場合に、C:\Hoge.txtが存在しなかったら強制終了してしまうんですが ファイルが存在しない旨のメッセージを表示させたいときはどうすれば良いんでしょうか? VBです。
- 649 名前:648 [2006/10/03(火) 03:12:09 ]
- すみません。↑は誤爆です。
気にしないでください!!
- 650 名前:デフォルトの名無しさん mailto:sage [2006/10/03(火) 14:34:39 ]
- プログラム初心者で、簡単な質問かもしれないですがお願いします。
VB.NETの質問で申し訳ありませんが、イメージを貼り付ける時に ImageBox1.Image = Image.FromFile("gazou.gif") ImageBox2.Image = Image.FromFile("gazou.gif") ImageBox3.Image = Image.FromFile("gazou.gif") ImageBox4.Image = Image.FromFile("gazou.gif") ImageBox5.Image = Image.FromFile("gazou.gif") というプログラムを、IfやForを使ってもっと簡潔にまとめられないでしょうか? いろいろと試してみましたが、エラーばかりでうまくいかなくて…よろしくお願いします。
- 651 名前:デフォルトの名無しさん mailto:sage [2006/10/03(火) 14:50:08 ]
- >>650
for each
- 652 名前:デフォルトの名無しさん mailto:sage [2006/10/03(火) 14:55:30 ]
- >>650
homepage1.nifty.com/rucio/main/dotnet/shokyu/standard20.htm 上から下まで全部読んだら、方法がいくつかわかると思う。
- 653 名前:デフォルトの名無しさん mailto:sage [2006/10/03(火) 15:01:43 ]
- >>651-652
とりあえず紹介されたサイトのほうに目を通したいと思います 早い返答ありがとうございました
- 654 名前:デフォルトの名無しさん mailto:sage [2006/10/03(火) 17:25:00 ]
- >>652
650じゃないですが、ちょうど同じ内容を探してました 感謝です
- 655 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 06:46:51 ]
- ローカルネットワークのActive Directory上動くアプリを作っています。
そのアプリの認証にWindows認証を取り入れたいのですが、 どのように認証すればよいのでしょうか?
- 656 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 09:51:12 ]
- VB.Net2003 + .NetFrameWork1.1
で、ListVIewのListVIewItem(i).Textプロパティに改行文字を含んだ文字列を 指定したらTextのAlignがCenterになってしまいます。 しかも妙に左右に空白ができてしまいます。 Viewプロパティは smallicon にし、48x48pxlのアイコンを使用しています。 ┏━┓ abc ┃ ┃ あいうえお ┗━┛ 123456 これを ┏━┓abc ┃ ┃あいうえお ┗━┛123456 このように表示したいのです。 イメージとしては、windows(XP以降)のFileExplore右側リストビューにて 「並べて表示」した時の感じです。 ListViewにはTextAlignプロパティは無いし、Alignmentプロパティは アイコンの並び方を変えるだけでした。 どのような方法で実現できるでしょうか? また、Textプロパティの1行目のフォント色は黒で、2行目以降はグレーで表示したいのですが どのようにすれば実現可能でしょうか? そもそも、WindowsのFileExploreのListViewは.NetFrameWorkのListViewとは 異なるものなのでしょうか?
- 657 名前:デフォルトの名無しさん [2006/10/04(水) 14:12:27 ]
- 同じ型の構造体をコピーする方法を教えてください
- 658 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 14:15:16 ]
- コピーしたい構造体を反転選択、
Ctrl-c
- 659 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 14:16:24 ]
- A4白黒あたりで良ければ、
コンビニで10円
- 660 名前:デフォルトの名無しさん [2006/10/04(水) 14:21:10 ]
- うっ、この時間って馬鹿しかいなかったか・・・
- 661 名前:デフォルトの名無しさん [2006/10/04(水) 14:24:04 ]
- 質問の仕方も知らない馬鹿をからかっているだけだと思われ。
- 662 名前:デフォルトの名無しさん [2006/10/04(水) 14:30:51 ]
- 答えれないと煽るか誤魔化す馬鹿しかいない時間帯だってわかってるよ
- 663 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 14:34:49 ]
- >>660
その通り。 この時間、回答者も質問者も馬鹿しかいない。
- 664 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 14:37:21 ]
- >>663
違うだろ。 馬鹿な質問者にはそれなりの馬鹿しかレスしねえだけだ。
- 665 名前:656 mailto:sage [2006/10/04(水) 15:10:25 ]
- 事故解決です。
どーやら.NetFrameWork2.0のListViewコントロールには View.Tilingというビューモードが追加になってるみたいですね。 やりたかったことはそれなので、2.0導入するまでちょっと我慢します。
- 666 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 15:17:25 ]
- >>664
だからお前がレスしてるのね
- 667 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 15:20:29 ]
- >>666
ようこそ。
- 668 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 15:37:15 ]
- >>657
Struct1 struct1 = struct2;
- 669 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 15:39:31 ]
- まあおまいら、またーりするんだ。
ttp://up2.viploader.net/pic/src/viploader320467.jpg
- 670 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 18:50:41 ]
- 次はオシッコして感電死するショット?w
>>665 俺自身は自分でやったことないのにえらそうに言うけど、 たぶんListViewのOnPaintをオーバライドすれば1.1でもできるんじゃない? GetItemRectなんてメソッドを使えば、テキストの部分だけのRectangleが取得できるから 先にベースクラスのOnPaint呼んどいてテキストの部分だけ自分で上書きしてしまえばいい。
- 671 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 18:52:35 ]
- プロセスIDからそのプロセスのファイル名をフルパスで得る方法ってありませんか。
VB2005です。
- 672 名前:656 mailto:sage [2006/10/04(水) 19:51:25 ]
- >670
さんくす。 オーバーライドやGetItemRectなんて具体的なやりかたが全然想像つかないので ちょっと調べてきます ノシ
- 673 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 20:09:07 ]
- >>656
2003でもいいけどさ、 .NetFrameWorkは2.0にできないの? まったく別物で上位互換でもないしさぁ
- 674 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 20:19:39 ]
- >>670
そりゃ無理だろ。やるならAPI使ってオーナードロー。
- 675 名前:656 mailto:sage [2006/10/04(水) 20:22:33 ]
- >>673
1.1で開発してるシステムが完成してから2.0にしようかと。 開発途中で2.0にしてしまうと作成途中のソースに あちこち手を入れることになんね?
- 676 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 20:27:06 ]
- >>674
あんたVB6な人だろ .NETは違うんだよw
- 677 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 20:35:13 ]
- >>676
OnPaintでどのアイテムを描画するかどうやって判断するの?
- 678 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 20:40:41 ]
- >>675
手入れが必要なら、さっさと乗り換えたほうが良くない? たとえばオーバーライドやGetItemRectをつかってまで1.1でつくりあげて、 それから2.0にする意味は? 一刻も早く2.0にして、もっとスマートな仕様で作っていくべきと思うけど。 他の様々な部分でも改善の余地があるなら早いほうがいいと思うし。
- 679 名前:670 mailto:sage [2006/10/04(水) 20:41:52 ]
- >>672
継承知らないとなると前途多難かもしれんねw 既存のコントロールを継承して独自の機能を実装する方法はここにやさしい解説があるよ pclabo.org/vb_net/14/main.htm あと、オーナードロー(OnPaintを乗っ取って自分で描画しちゃう)については、 たしか「どぼん」にコンボボックスをイメージコンボに改造するサンプルがあったと思う
- 680 名前:670 mailto:sage [2006/10/04(水) 20:43:18 ]
- >>678
俺もそうだけど、たとえば中小企業でチマチマコード書いてる身分だとそうもいかんでしょ。
- 681 名前:656 mailto:sage [2006/10/04(水) 21:07:52 ]
- >>678
いま2.0を入れずに頑張って1.1で手間ヒマかけてやるつもりはないです。 大変そうならとっととあきらめて余裕のできたときに2.0に移行していきます。 >>680 ウチの会社は作ったシステムを運用する人はイパーイいるけど、 開発する人間はオレともう一人だけなんだよね。 でも、今作ってるシステムは全くオレ一人でやってる。 だから完成間近のシステムを今の段階で2.0とかに対応していくことは とても厳しい。 ユーザにはもうすぐリリースできそうってアナウンスしてあるしw >>679 ありがとう。 継承とかは気になっていたんだけど、まだ必要になってなかったので 勉強できてません。 教えてもらったサイトを参考に勉強してみます。
- 682 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 22:25:05 ]
- >>671
Process クラスと ProcessModule クラス使えば用は足りるだろう。
- 683 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 00:59:42 ]
- Function関数を使って、
グローバル変数のようにモジュール内のどの関数内からでも呼び出せて、 同様に(変数をValueとすると) Value = 3 Value += 4 Dim rr As Integer rr = Value + 5 といった感じで使いたいのですが…… 色々と試してみたのですが、さっぱり上手くいきません。 初歩的な質問なら申し訳ございませんが、よろしくお願いします。 質問が下手ならすみません。
- 684 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 01:07:23 ]
- もうちょっと具体的に書いてくれる?
- 685 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 01:17:25 ]
- >>684
Function Total(ByVal tt As Decimal) As Decimal Static rr As Decimal = 50 rr -= tt Return rr End Function 上のようなプログラムを使おうとすると、 Total(x) と表記するだけで返り値を増やす事は出来るんですが その値の初期化が出来なくて困っています。 どうにかして別の関数内からも望む時に値を初期化ないし変数rrに直接代入できないでしょうか?
- 686 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 01:18:58 ]
- >>685
すみません、上記のプログラムでは返り値を増やす事ではなく減らす事は出来る……です。 説明が下手ですみません。
- 687 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 01:28:32 ]
- 値を設定するメソッドも用意しとけば良いだけじゃん
つかまあ見事な非 OOP だな
- 688 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 01:34:06 ]
- Staticについてちょっと勉強不足かも……ちょっと調べて試してみます
こんな夜にわざわざありがとうございました
- 689 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 01:44:09 ]
- >>687
普通に解決しました……すみません、プログラムの考えってすごく苦手で…… すごく助かりました、本当にありがとうございます。
- 690 名前:デフォルトの名無しさん [2006/10/05(木) 23:17:58 ]
- VBほぼ初心者で、VB6.0でほぼ完成のソースもらったんですけど、
2005しかなくて、勝手に変換されて泣きそうです。 で、質問です。 1.2005のままどうにかならないのか? このまま1個1個エラー潰していくしかないのか? 2.フリーのVB6.0が動く開発環境ってありますかね? 2003とか。 明らかにウザイ質問と自分でもわかっているので、罵倒する感じでお願いします。
- 691 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 23:30:41 ]
- >>690
1、自力でごりごりコンバートしたほうが、後々役に立つと思われる。 2、6.0のフリー環境はさすがに無いかと。 5.0のControl Creation Editionで解釈できるコードなら、そっちで 動かせるかもしれない。2003と互換性のあるSharpDevelopにいく という手もあるけれど、それなら2005にしたほうが大吉。
- 692 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 23:38:58 ]
- >>691
即レスサンクスです。 結局自分でガンガルのが最短路ってことですね。 どーもです。 頑張ります。
- 693 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 23:43:41 ]
- >>690何度も何度も何度も既出
- 694 名前:デフォルトの名無しさん mailto:sage [2006/10/06(金) 00:16:02 ]
- 既出厨乙
- 695 名前:デフォルトの名無しさん mailto:sage [2006/10/06(金) 01:27:43 ]
- 最近始めたばかりの初心者で、環境は2003を使っています。
>>650のような感じで、例えば Dim x As Integer Private Sub ABC1() x = 1 End Sub Private Sub ABC2() x = 2 End Sub Private Sub ABC3() x = 3 End Sub 上のようなプログラムの Private Sub ABC1()〜ABC3() をもっと簡潔に表記する事はできませんか?
- 696 名前:デフォルトの名無しさん mailto:sage [2006/10/06(金) 01:37:40 ]
- private void ABC( int arg )
{ x = arg; }
- 697 名前:デフォルトの名無しさん mailto:sage [2006/10/06(金) 01:52:47 ]
- >>696
ありがとうございます、参考書にvoidが無かったので検索していますが・・・見つからず苦戦しています・・・ ちなみにその方法で Private Sub ABCBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ABCBox1.Click のようなボタンを押した時などのPrivate Sub 〜〜 もまとめる事はできますか? 質問ばかりですみません。
- 698 名前:デフォルトの名無しさん mailto:sage [2006/10/06(金) 02:08:18 ]
- >>697
>>696は違う言語。 そのイベントを起こすコントロールが何か分からんが 大体senderがそのコントロールそのものだな。 Handles ABCBox1.Click, Button1.Click, Button2.Click みたいにして senderとそのボタンなりなんなりと比較して分岐。
- 699 名前:デフォルトの名無しさん mailto:sage [2006/10/06(金) 02:10:54 ]
- Handles の記述上限っていくつだろ
- 700 名前:デフォルトの名無しさん mailto:sage [2006/10/06(金) 02:12:14 ]
- >>696
コピペするとエラーが出るのですが・・・ C#ではないですよね・・・せっかく教えていただいたのにすみません どこか分かり易いサイトなどありましたら教えていただけると助かります
- 701 名前:デフォルトの名無しさん mailto:sage [2006/10/06(金) 02:15:35 ]
- >>698
HandlesとSenderですか、調べて何とか理解できるよう頑張ります それでも分からなければ、すみませんがまた手を煩わせる事になるかもしれないですが そうならないように頑張ります 丁寧にありがとうございます
- 702 名前:デフォルトの名無しさん mailto:sage [2006/10/06(金) 02:18:38 ]
- Buttonと書こうと思っていたのにBoxと書いてしまってますね・・・
コントロールが分からなくてすみませんでした 改めてありがとうございました
- 703 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 02:35:26 ]
- MenuItemやNotifyIconにInvokeRequiredって無いんでしょうか・・・
別スレッドからNotifyIconのTextを変えたりしたいのに出来ない・・・orz
- 704 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 02:50:07 ]
- Controlじゃないからね。
本スレッドのウインドウにメッセージでも送ってやってもらうが吉
- 705 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 02:59:07 ]
- どういう風にすれば良いでしょうか・・・
Textを変更しようとしているスレッドはループを回しているのでRunWorkerCompletedじゃだめだし・・・分からないorz
- 706 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 03:03:43 ]
- VB2005です。
MenuStripに項目をいっぱい追加して、そのウィンドウの幅を小さくすると、 はみ出たぶんのメニュー項目が表示されない、クリックできない状況になっちゃうんですが、 これを改善するにはどうしたらいいですか。 VB6の用に折り返させたり、メニューの一番左に▼←こんなのが表示されて、クリックすると 続きが表示されるようにしたりしたいんです。
- 707 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 05:06:03 ]
- >>706
menuStrip.GripStyle 初期値はHidden
- 708 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 05:27:37 ]
- >>707
HiddenからVisibleに変えてみましたが、メニューの一番右に点が3つ表示されるだけで、 はみ出たぶんのメニュー項目は依然選択できないままです。
- 709 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 09:34:58 ]
- >>705
BackgroundWorker 使ってんだったら ProgressChanged で良いじゃん
- 710 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 10:48:21 ]
- >>709
こんなイベントあったんですか・・・知りませんでした。ありがとうございます。 .netは奥が深いな・・・
|

|