1 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 10:06:09 ] 前スレ VB.NET質問スレ(Part31) pc12.2ch.net/test/read.cgi/tech/1250930696/l50 テンプレは >>2-4 あたり
232 名前:デフォルトの名無しさん mailto:sage [2009/11/30(月) 23:34:07 ] >>226 値を返さない仕様では無く、nullpoを返すとか0や有り得ない数値(時間の分なら59以上とかマイナスの値)を返す様にするんじゃないかな。
233 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 01:24:22 ] For Each Str As String In ????? で、ListViewのSubItem(3)をStrに入れるにはどのように書けば良いでしょうか?
234 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 01:52:11 ] > ListViewのSubItem(3) とかいう謎の言葉は良くない ListViewの各アイテムの4列目を列挙したいってこと? ならListView.ItemsをFor EachつかってListViewItem列挙して それのSubItems(3).Textを取得する
235 名前:226 mailto:sage [2009/12/01(火) 11:21:31 ] みなさん、親切にご回答ありがとうございました。 >>227 「値を返せるかどうか」と「値そのもの」を、同時に一つのもの として処理をするように考えるのではなく、別のものとして 処理するように考えれば良いのですね。 >>228 Getで失敗させてはいけないという設計は知りませんでしたが、 納得はいきました。Getを使用する際は、いちいち Try 〜 Catch 〜 は 使用しませんしね。 >>232 「値が返せない」状況の場合は、例外よりも、0などを返す 方向で設計するとよさそうですね。 そのクラスを使うプログラムの方は、例外を取得するのではなく、 ちゃんとした値だったら・・・0だったら・・・という プログラムになるのですね。
236 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 15:06:10 ] >>235 エラーコード返すんだったら例外と変わらん プロパティはあくまでフィールドのように振舞うべき 素直にGetHogeみたいなメソッドにしたほうがいい
237 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 15:18:54 ] >>236 レスありがとうございます。 クラス設計を行う場合、カプセル化の実現の為、必ずSetter/Getterを設定し、 外部のプログラムは、フィールドを直接操作しないような方向で考えるべきと されていますが、VB.NETでは、そのあたりの必要機能すべてをプロパティにて 網羅している、と解釈してしまっていたところで、間違った解釈につながって しまったようです。 純粋にフィールドの値を代入したり取得したりする場合のみ、プロパティを 使用する。そして、(オブジェクトの状態により振る舞いが変わるなど) 条件付きでデータを取得したり設定したりする場合は、メソッドを作る。 という考えでいるべきなのだなと思いました。
238 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 18:15:50 ] 外からフィールドのように見えればいいんであって、 中身は自由に実装していいんだぞ。でないとプロパティの意味がない。 返す値が無いからNothingなのはかまわないが、そのNothingは取得操作が失敗したから Nothingをエラーコードとして返しているのではなく、そのプロパティの値自体がNothingという意味でなければいけない。
239 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 20:41:49 ] こういうセオリーだ、とか、これはバッドノウハウだ、とかってのは置いといて、 好きに作ってみればいいじゃん。で、ダメだったらやり直せばいいんだし。
240 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 21:33:42 ] 1の位や10の位で切り上げや切り捨ては行えますか?
241 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 21:38:46 ] >>240 除余を引いてください。 っていうか、小学生でも思いつく知恵だと思うけど・・・
242 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 21:38:55 ] 足して割って掛ければいいよ
243 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 21:42:10 ] int型なら10で割ると切捨てなので1の位が消滅する 105/10→10 これにまた10をかける
244 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 23:34:39 ] >>243 Dim val1, val2 As Integer val1 = 99999 / 100 val2 = val1 * 100 Console.WriteLine(val2) ( ゚Д゚) Math.Floor() ( ゚Д゚ )
245 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 23:43:53 ] \
246 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 23:44:54 ] /じゃなくて\ね。 っていうか、だから除余を使おうよ。
247 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 00:42:24 ] っていうか、馬鹿相手にレスするなよ。
248 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 15:03:59 ] 初心者な質問ですが宜しくお願いします。 Button1をクリックしたら、Do While〜Loopを使ってi=1から10まで加算して 初回ループ ・Console.WriteLineで標準出力ストリームに「i = 1」 ・Form1のLabel1にも「i = 1」 n回目ループ ・Console.WriteLineで標準出力ストリームに「i = n」 ・Form1のLabel1にも「i =n」 と表示させる。ということをイメージして書いたのが Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim i As Integer = 1 Do While i <= 10 Console.WriteLine("i = {0}", i) Label1.Text = "i = " & i i += 1 Loop End Sub Button1をクリックした実行結果は ・標準出力ストリームは1度も表示されない。 ・Form1のLabel1には1回だけ「i = 10」と表示される。 ・ループが回っていることはステップインで確認。 何が問題なのかアドバイスお願いします。
249 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 15:19:13 ] フォームアプリケーションだとそもそも標準出力先が用意されてない デバッガの出力に表示させたいならDebug.WriteLineとか使う そのループも画面更新も同じスレッドで行われるので、ループが回ってる間画面更新できない 定期的な処理ならタイマを使う 重い処理ならBackgroundWorker辺りを使う Refreshで強制的に再描画させられるけど普通ではないしそんなループ程度じゃ視認できないだろ
250 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 16:35:33 ] >>249 回答有り難うございます。 >フォームアプリケーションだとそもそも標準出力先が用意されてない >デバッガの出力に表示させたいならDebug.WriteLineとか使う フォームだと窓表示ができないのですね。なるほど! >そのループも画面更新も同じスレッドで行われるので、ループが回ってる間画面更新できない >定期的な処理ならタイマを使う 実行結果を見ると確かにPrivate Sub Button1_Clickを抜けて初めてLabel表示が更新されるので そうかなあと思ってましたが納得です。
251 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 16:53:40 ] Labelに値をセットすることと、フォームを更新することが 異なるタイミングで行われるということなので、 Update()などで更新してやれば実現できる。 Label1.Text = "i = " & i Label1.Update() これでも処理中に画面が張り付いてしまうのは変わらないから、 本格的なアプリならTimerやBackgroundworkerをすすめる。
252 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 17:21:05 ] 質問です。 以前C++で、構造体配列を宣言するために、 typedef struct tagA { CString strName; int iCount; } tagA; CArray< tagA, tagA > tagArray; というように宣言し、構造体要素をAddしたりDeleteしたりしていました。 tagArray.Add(...) のように。 VB.NETではどのように宣言してやればいいのでしょうか?
253 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 17:32:23 ] List(Of T)とか使う
254 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 17:53:03 ] >> 253 ほんとありがとー。 Cだけしかやったことないっていうのはほんとダメだねぇ・・・ たすかりました。
255 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 19:35:30 ] そういう教科書に載ってるようなのはたいがいあらかじめ用意されてるから 自分で書こうとしてはいけない
256 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 19:38:22 ] 整数の数があるとして、 11個の連続した整数を取り出したいのに 60-50=10なのに でも50から60には11個の整数がある。 この矛盾はなに?
257 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 19:43:13 ] つれますか?
258 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 19:50:32 ] >>252 CArray 使うとか…いや、まあいい。 >>255 でもツリーとかグラフはないんだよねえ。 >>256 しょうがっこうの べんきょうは むずかしいですか? すうじを 5 と 3 にしてみるとわかりますよ。
259 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 19:51:57 ] >>256 1-1=0なのに 1から1までは1という1個の整数がある!ふしぎ!
260 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 20:10:08 ] マジレスヨクナイ
261 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 07:36:33 ] >>238 >>239 レスありがとうございます。 とりあえず手を動かしていろいろやってみたいと思います。
262 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 08:12:54 ] すいません、もう一つだけ質問です。 メンテナンス目的時のみに使用するメソッドを設定する場合の 命名規則やルールはあるのでしょうか? コーディング規約ではそういうものは見たことがないので、 質問してみました。 _(アンダーバー)で始まる名前にするなど、適当な考えで やっておくといいのかな? 細かい事を気にしすぎだという意見が出るかもしれませんが、 多くの人が必ず関係するような事だと思ったので確認しておきたいと 思いました。
263 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 08:21:45 ] さすがにメンテ云々までMSのガイドラインは無いんじゃないかな? もし、あったらごめんね
264 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 09:28:19 ] VB.NETっていきなりWindowsアプリじゃなく C言語が一番最初コマンドプロンプトでprintfだのから始まったように初歩の初歩から学べないの?
265 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 09:35:51 ] >>264 プロジェクト作成時に、コンソールアプリケーションを選べばいいと思います。 場合によっては、VB.NETから離れて、BASICを学ぶという選択肢で考えた方が いいかもしれません。
266 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 09:45:00 ] そもそも Visual なのだから、基本はフォームにコマンドボタンと テキストボックスを配置して、コマンドボタンクリック時のイベントに コードを書いていくというのが、初歩という考え方でもあると思う。 (GUIを作るまでの過程がマウスによる操作で出来るので簡単っていう 意味合いで、Visualです。)
267 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 10:07:59 ] とりあえずこれで ' save hello.vb module Program sub main Console.WriteLine("Hello World !") end sub end module vbc hello.vb hello
268 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 10:39:07 ] デバッグはドM作業っていうのがよくわかったよ 2時間悩んでもわからなかったのに寝て起きたらあっさり見つかったり
269 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 11:57:53 ] 俺はシャワーのとき解決策を思いつくよ
270 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 12:05:12 ] 俺はいつも丑三つ時に閃くな
271 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 14:40:33 ] 正規表現難しいな 数字の桁数が定まってないのは\dでは探せないしなぁ
272 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 14:44:14 ] いつからここは愚痴をいうスレになり下がったんだ?w
273 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 15:20:31 ] オレは、トイレ入ってる時だな。。 一番思いつくのは
274 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 15:56:25 ] >>271 +とか*の量子指定じゃ駄目なの? せっかくの質スレなんだから聞いてみろよw
275 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 17:08:18 ] 質問 homepage1.nifty.com/rucio/main/kiso/Scope.htm このサイトを読んでいたのですが、「2.適用範囲」の Friend を 使う場合はどんなケースであるのがいまいちわかりませんでした。 同じプロジェクトであればということですが、基本的にモジュールは 自分が今作成しているプロジェクトに組み込んで使うものではないの でしょうか。 例えば、AさんがJisakuクラスを作成し、Jisaku.vbファイルに保存。 それをBさんが、新規プロジェクトを作成し、Jisaku.vbファイルをその プロジェクトフォルダの中にコピーしてForm.vbを記述。 Cさんが自分のPCにて、それとは別に新規プロジェクトを作成し、 Jisaku.vbファイルをそのプロジェクトフォルダの中にコピーして Form.vbを記述。 という感じにやるのだと思っていたのですが、この考え方が間違いなのでしょうか。
276 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 17:40:01 ] >>275 プロジェクト内でも間違いではないが、同一アセンブリ内というのが正確だな。 アセンブリが異なれば例え同じ名前のクラスでも別のクラスという扱いになる。 .NETでは基本的にソースレベルでコピーや共有はしない。
277 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 19:01:37 ] >>263 レスありがとうございます。 使う人が使い方を間違えないような感じの名前をつけておきたいと思います。
278 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 19:18:40 ] 現在VB.NET2005にて データベースの接続及びSQL文発行を行う DLLを作成しており、 接続には『SqlDataReader』を使用しています。 Transactionを指定しない場合に 排他制御がどのように行われているのか、がわかりません。 一切排他が行われないのでしょうか? また、排他制御を実装する場合はどのようにすれば良いのでしょうか? 行いたい制御としては、 @データ取得中(SELECT)にデータ更新を抑止する Aデータ更新中(INSERT/UPDATE/DELETE)にはデータの取得/更新を抑止する です。
279 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 19:42:34 ] データベースによる
280 名前:278 mailto:sage [2009/12/03(木) 19:47:40 ] >>279 すみません、書き忘れました。 使用するデータベースは 『SQLServer2005 Workgroup Edition』です。
281 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 19:49:24 ] その質問の答えは回答者による。
282 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 19:52:59 ] SqlDataReader では接続できないんだが (SqlDataConnection だろ、ってのは置いといて) MS SQL Server の Isolation Level の設定次第。
283 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 20:04:11 ] select * from tab with(xlock)
284 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 20:04:14 ] >>278 とりあえず元スレに移動したことを書いとけよ。 マルチとかいわれんぞ。
285 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 21:19:35 ] 皆プログラミングになんのエディタ使ってる? 俺はPCがカスだから動作が重いけど楽で便利だからVBの統合開発環境をそのまま使ってるんだけど
286 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 21:21:43 ] VBでVB使わないとかただのアホかマゾ
287 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 21:24:04 ] メモ帳でやりたいけどやり方わからんから仕方なくVisual Basic 2008 Express使ってる
288 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 21:26:29 ] edlin
289 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 21:35:22 ] .NETのクラスライブラリの糞長い型名やメンバ名なんかいちいちタイプしてられるか もともとインテリセンス前提で作られてるんであってPythonみたいな書きやすさ重視の言語とはわけが違う
290 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 07:50:49 ] >>276 レスありがとうございます。 分かりやすい説明でした。
291 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 09:34:54 ] ランダム関数についての質問です。 ランダムに数字を取得する方法は、googleで検索するとすぐに 出てきたりしますが、(例えば以下のサイトなど) www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=21547&forum=7 ある数字の幅を指定して、その範囲で数字を1回ずつ重複せずに取得する ことはできないのでしょうか? (同じ数字であるかのチェックを行うプログラムを書いて工夫をする しかないのでしょうか) (例)0〜5の数字をランダムに取得する 1回目:2 2回目:1 3回目:4 4回目:0 5回目:3 6回目:5 このような感じに数字が取得でき、6回目の数字の取得まで、 一度出た数字が重複することが無い。
292 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 09:45:05 ] dobon.net/vb/dotnet/programing/arrayshuffle.html 「シャッフル」というキーワードで調べてみるとよかったようですね。 自己解決しました。
293 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 09:49:11 ] 年末ジャンボシミュレータ作る気ですね? 解ります。(゚ー゚ )(。_。)(゚ー゚ )(。_。)ウンウン 私も考えたのですが、どっかにメモしておくしか考えつかないです。 数学板かアルゴリズムのスレで聞いてみようかと思ってました。
294 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 14:17:31 ] 質問です。 VB.NETの変数には、値型と参照型がありますが、変数にこういう二つの 概念を持たせて、プログラミングの際に使い分けをさせたりするメリット とはどういうものがあるのでしょうか? homepage1.nifty.com/rucio/main/dotnet/shokyu/standard34.htm 実際にプログラミングをする際に感じるものがいまいち見えませんでしたので 質問をしてみました。こういうプログラミングをしてみるとわかるよという ものの紹介でも結構です。よろしくお願い致します。
295 名前:デフォルトの名無しさん [2009/12/04(金) 14:22:59 ] 未定のType変数を用意し、それを後から必要に応じてセットしてから 後でそれを使ってオブジェクトを設定したい場合、 たとえば Dim TypeA as Type = GetType(Integer) ・・・ Dim ObjectA as TypeA = CType(obj, TypeA) ・・・・・(*) このようにすると(*)でエラーします。こういう使い方はNGのようで、 どういう仕方で行なうものか教えてください。
296 名前:295 [2009/12/04(金) 14:25:05 ] (*)ではコーディング状態で「TypeAは定義されていない」となります。
297 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 14:32:16 ] >>294 値型の理由は主にパフォーマンス ただし分かって使わないと却って悪化する 自分で定義する分には値型を作ることは(列挙体以外)まずないよ >>295 Dim ObjectAのところでTypeAはプログラム上確定してないんだろ? 実行時に初めて確定する ならTypeAにキャストしてどうするの? 何もできないじゃん?
298 名前:295 [2009/12/04(金) 14:43:11 ] >>297 >Dim ObjectAのところでTypeAはプログラム上確定してないんだろ? そうなんですが、たとえば、親のオブジェクトからプロパティで型を受け取って それを使ってキャストしたいと思いました。それで元々定義されたメソッドを 子の方で叩くなどしたいと。こういうのは無理なものですか?
299 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 14:55:25 ] だからさ、TypeAが何型かコーディング時に分からないのに、 どうキャストすんのよ? VBならレイトバインドでも使っとけ。 おすすめしないけど。 何がしたいか具体的に書けばもっと真っ当な方法がある可能性が高い。
300 名前:295 [2009/12/04(金) 15:23:55 ] >>299 コーディング時には実はわかっているのですが、クラス型は親の方で宣言して おきたく、子の方はいろんな種類があって実行時に型を受け取りたいということ でした。 ただ、どうも(*)という方法自体が不可能なような感じですかね?Type型のもので オブジェクトを宣言したりキャストすること自体が間違いなのかなあ・・・
301 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 16:12:35 ] 親が分かってるからとかそういう問題じゃないんだ。 コーディング時にってのは子のコーディング部分で分かってるかって意味だ。
302 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 16:19:09 ] マウスカーソルがフォーム上の指定した座標上に移動したときに その座標にグラフィックが描画されるようにしたいのですが、 そのようなイベント(?)はあるのでしょうか? どのようにすればいいのでしょうか? 現在はピクチャーボックスとマウスエンターイベントで実現しているのですが、 たくさんのピクチャーボックスを使うとものすごく重くなってしまうそうで ダメと言われてしまいました。
303 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 16:20:26 ] ひとつのピクチャーボックスでいいだろ なんでたくさん使うの
304 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 16:28:33 ] ポトペタ脳ってうざいよね
305 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 16:30:37 ] >>303 レスありがとうございます 現在はフォームにフォームのクライアント領域と同じ大きさのピクチャーボックスをすでに貼り付けていて その上に一個ずつ麻雀牌のピクチャーボックスを貼り付けている形になっています。 麻雀パイにマウスエンターすると牌が浮き上がって見えるようにしたいのですが、 これもひとつのピクチャーボックスで実現できますか?
306 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 16:32:37 ] >>302 こんな感じで領域を指定するんじゃないの? If MousePosition.X > 250 And MousePosition.Y > 250 Then Me.PictureBox1.BackColor = Color.Aqua Else Me.PictureBox1.BackColor = Color.Blue End If
307 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 16:37:10 ] データとビューはわけろよー
308 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 16:44:26 ] >>300 CType や DirectCast は「型名」を指定するものであって、 Type型で指定するわけじゃない。 >キャストすること自体が 動的な型変換は面倒だぞ。 つ[TypeDescriptor.GetConverter]
309 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 16:48:26 ] >>305 MouseEnter と MouseLeave のときだけ捕まえて描画したらええやん。
310 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 16:49:29 ] >>308 たぶん型変換したいわけではなくてどっちかというとレイトバインディングの方だと思う
311 名前:295 [2009/12/04(金) 16:55:31 ] >>308 >CType や DirectCast は「型名」を指定するものであって、 >Type型で指定するわけじゃない。 やっぱりそうだったのですか。わかりました。ありがとうございます。 >動的な型変換 >TypeDescriptor.GetConverter こういうものがあったのですね。勉強します、またよろしくです。
312 名前:295 [2009/12/04(金) 17:00:55 ] >>301 >>310 >レイトバインディング 子のコーディング時にも親を見ているのでわかっているのですが、 子の方ではそのクラスを宣言できないので、クラスの宣言自体をオブジェクト にして受け取りたいということなのでした。しかしそういうことは簡単では なさそうな感じので、とりあえず別の方法も考えてみます。
313 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 17:01:39 ] >>305 がイメージしていることって、例えて言うと、ホームページで Flashでデザインされたメニューのようなものか? マウスを動かすとリアルタイムでボタンの色や形が若干変わるという。
314 名前:デフォルトの名無しさん [2009/12/04(金) 17:30:16 ] あるイベントに対して、すでになんらかのハンドラが AddHandler されていることを知るにはどうすればよいでしょう?それらを全て 列挙することはできるでしょうか。
315 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 17:35:57 ] できないと言っていい そもそもそんなのが必要になるのってどんなときよ
316 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 17:44:26 ] ListBox を Form に貼り付けてプログラミングする場合の質問です。 ListBox は、1行につき1件のデータしか表示出来ないのでしょうか? Access の場合は、ListBox に対してテーブルそのものを貼り付けることが 出来、さらに1件目のデータを非表示にしておいて、クリックした時に そのデータを取得するということもできたりしたのですが、 そういったことができなさそうなので確認のため、書き込みました。
317 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 17:47:51 ] [質問] Panel の中に複数の RadioButton を貼り付けた場合、 現在、どの RadioButton が選択されているかをチェックするには、 Panel のプロパティからでは確認は出来ない? 貼り付けているすべての RadioButtion において If Me.RadioButton1.Checked = True Then みたいなコードを書いてチェックするしかない?
318 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 17:51:00 ] >>316 標準のListBoxはそう まあListBoxだってDataTableをDataSourceにして DisplayMemberとValueMemberを指定するぐらいならできる それで不満ならネットでMultiColumnListBoxでも探せば
319 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 17:53:40 ] >>317 うん まあ関数化しとけば便利だね >>316 ListViewとかDataGridViewとか使うのは?
320 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 17:54:11 ] >>318 すばやい回答ありがとうございました。 とりあえずは DisplayMember と ValueMember を使う方法でやってみます。 それでうまくできない場合は、紹介していただいたコントロールや Grid を使うなど別な方法を検討してみます。
321 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 17:57:26 ] >>319 回答ありがとうございます。 紹介していただいた ListView とか DataGridView の機能について 詳しく調べてみます。 初心者にも親切にありがとうございました。
322 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 17:58:58 ] arraylist(listbox.listindex)でいいじゃん
323 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 18:07:24 ] >>322 arraylist を工夫して使えば、 listbox でクリックした名前に相当する 数値データを取得することが出来るっていう意味かな? ちょっと私の頭がついていけてなくてどういうコードを書いていけば いいのかのイメージはついていませんが、いろいろとやってみます。 ありがとうございました。
324 名前:317 mailto:sage [2009/12/04(金) 18:09:15 ] >>319 レスありがとうございます。独りで考えていて不安だったけれど、 他の人の考えを聞く事が出来てすっきりとしました。
325 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 19:24:38 ] DataSetとDataGridでできるだろ。 DataGridViewじゃなくてDataGridな。