[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/29 20:01 / Filesize : 273 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

VB.NET質問スレ (Part18)



1 名前:デフォルトの名無しさん mailto:sage [2006/10/19(木) 18:41:18 ]
[前スレ]VB.NET質問スレ (Part17)
pc8.2ch.net/test/read.cgi/tech/1155292844/

369 名前:デフォルトの名無しさん [2006/11/22(水) 11:38:00 ]
フォーム1で相対パスのアドレスが入ったstring形式の「pass」
というデータをフォーム2で使うようにしたいんですけど
どのようなプログラムをすればいいのでしょうか?

プログラムの仕様はフォーム1にあるボタンを押すとフォーム2に遷移。
その後フォーム2でフォーム1で取得した「pass」の中にあるtxtデータを元にプログラムを作っていく予定です。

ぐぐっても検索ワードが悪いのか上手く引っかかりませんでした。
ヒントだけでもいいのでよろしくお願いします。

370 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 11:41:32 ]
>>369
passの内容をレジストリに登録
form2でレジストリを読む


371 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 12:01:12 ]
いやいや、form1がメールで送ってform2で受け取ればいいだろ


372 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 12:10:19 ]
>>371
ばかだなぁ

form1でソケットを生成して、form2で受信すればいいだろw

373 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 12:50:19 ]
今風にするならWebサービスかな

374 名前:369 [2006/11/22(水) 13:34:05 ]
>>370
即レス感謝です。
おかげさまで実装したい通りのものを作ることが出来ました。
他の方々もレス感謝です。

375 名前:デフォルトの名無しさん [2006/11/22(水) 13:38:30 ]
www.vector.co.jp/soft/win95/util/se072729.html
作者の方へ

VisualBasicの学習者たちのためにソース公開してください

376 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 14:01:06 ]
>>374
ほかの人をやきもきさせないように、
ネタかマジかかいとくんだ。


377 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 14:02:02 ]
>>369
最大の問題は「pass」だな。



378 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 14:03:45 ]
pathがpasswordになるのかもしれないじょのいこ

379 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 14:34:26 ]
>>374
しかも、なんでよりによってレジを選ぶんだw

万が一、削除処理なんていれてたら・・・ヽ(ill゚д゚)ノ

380 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 14:38:59 ]
shared って staticのこと?

381 名前:369 [2006/11/22(水) 15:17:17 ]
>>376
ネタじゃなくてマジです。

>>377-378
すみません。プログラム内ではpathを使っていたのですが
こちらではpassで質問していました。お恥ずかしい。
パスワードはとは一切関係ないです。

>>379
他に方法があるのですか?
もしよろしければ参考にしたいので教えていただけると嬉しい。
ちなみに削除処理は入れてません。入れるとまずいのですか?
無学で申し訳ないです。作りながら学んでいるのですが難しいですね…。

382 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 15:29:09 ]
>>380
まぁ、にたようなもの。

スコープが違って、sharedはクラス間でも共有されちゃうよよよよん。

383 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 15:33:31 ]
>>382
マジで?
じゃあstaticの代わりになるものってなんですか?

384 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 15:41:02 ]
>>381

dim f as new form2
f.pass = pass
f.show

385 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 16:12:05 ]
>>383
staticは無くなってないよ(´・∀・` )

>>384
それは、form2がpassというメンバ変数かプロパティを
もっていないと使えない。。。。

386 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 16:29:03 ]
だからそう書けって>>384は言いたいんだろうが

387 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 16:32:47 ]
C#のstaticに該当するのはsharedでいいんですか?



388 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 16:34:47 ]
>>387
C#のstaticはいくつか意味があるから、どれのよ

389 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 16:37:31 ]
>>387
最初からそう書けよ。

C丼でソース書いて、
ttp://authors.aspalliance.com/aldotnet/examples/translate.aspx
で変換すると、大体何が何に変わってるか、わかるよ。

390 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 16:41:51 ]
C#のstaticはいろんな意味があるんですか?
これは驚いた。
VBでは意味が違うとワードも変わるということですか?
すげー

391 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 18:20:16 ]
そういやC#のstatic classはどう書くのだろう。
NotInheritedで継承を禁止して、あとインスタンス化を抑制するのが見当たらない。
プライベートのコンストラクタでも書くのかいな。Moduleでもいいけどなんかいやだ。

392 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 18:38:04 ]
>>391
>>389 でやってみたらShared Class と書けるんだ。ありがとん。

393 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 18:46:57 ]
>>392
VBに(今のところ)Shared Classはないよ。
>>389の変換結果は常に正しいわけじゃない。

394 名前:デフォルトの名無しさん [2006/11/22(水) 18:55:45 ]
Reflectorだと以下のようになった

static class Class1
{
public static int sum(int a, int b)
{
return a + b;
}
}



Friend MustInherit NotInheritable Class Class1
Public Shared Function sum(ByVal a As Integer, ByVal b As Integer) As Integer
Return (a + b)
End Function
End Class

395 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 19:09:27 ]
まんどくさいから、シングルトンに汁。

396 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 19:29:23 ]
>>395
それがいいね

397 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 22:10:35 ]
まあ、動けばなんだもいいさ



398 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 13:30:35 ]
>>394
MSILレベルでは抽象クラス宣言と継承禁止宣言の2つを行うことで静的クラスを実現しているからね。
でもこれをVB.NETでやろうとしてもコンパイル通らない。

>>391
継承禁止にして、コンストラクタの隠蔽によるインスタンス化禁止でほぼ同等のことが実現できる。
>Moduleでもいいけどなんかいやだ。
Moduleと静的クラスは全く別物だからダメだよ。
ModuleにはStandardModule属性が付いているからね。これだけでもう全く別物。

399 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 20:06:35 ]
VBAのスレが立っていないのでここで質問させてください
組込み定数でタブはvbTab改行はvbCRとかあるのですが
スペースとカンマと括弧()の組込み定数を教えてください
もし無ければJISコードでも結構ですのでお願いします。

400 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 20:42:41 ]
なぜスレがたつまで待てないのか
なぜヘルプを見ないのか
なぜAsc()で調べないのか

401 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 20:50:36 ]
怠惰で傲慢で愚昧だから

402 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 22:16:45 ]
>>398
>Moduleと静的クラスは全く別物だからダメだよ。
>ModuleにはStandardModule属性が付いているからね。これだけでもう全く別物。
何が困るわけ?
ああ、クラス名での修飾がいらんとかそういう話?


403 名前:デフォルトの名無しさん mailto:sage [2006/11/24(金) 01:53:11 ]
>>402
そういう話。

404 名前:デフォルトの名無しさん [2006/11/24(金) 22:23:28 ]
テキストファイルにある数字を一つずつ2次元配列で格納したいんですが
上手くいきません(ノД`)誰かご教授お願いします。とりあえず恥さらしソースのせてみます

Dim sr As New System.IO.StreamReader("ファイルパス", System.Text.Encoding.Default)
Dim buf As String

Dim retu As Integer = 0
buf = sr.ReadLine
retu = Len(buf)

Dim gyo As Integer = 0
Do Until sr.Peek = -1
gyo += 1
buf = sr.ReadLine
Loop

Dim array(retu, gyo) As Integer 
Dim i , j As Integer

Do Until sr.Peek
For i = 0 To gyo
For j = 0 To retu
array(i, j) = sr.read
Next
Next
Loop
sr.Close()

効率的な方法もあるんでしょうがとりあえず行と列を求めて(テキストファイルの列数と行数は同じの前提)
ためしにテキストボックスでretuとgyoを表示させたところ
ちゃんとした数字が入ってるんで一応そこまでは合っているようなんですが配列が全くできません(ノД`)誰かよろしくお願いします

405 名前:デフォルトの名無しさん mailto:sage [2006/11/24(金) 22:27:02 ]
>>404
うへへははははwww

い、いんてじゃぁwww

406 名前:デフォルトの名無しさん [2006/11/24(金) 22:28:48 ]
もしかしてIntegerが違うんですか?
ご存知でしたら教えてください
お願いします(ノД`)

407 名前:デフォルトの名無しさん mailto:sage [2006/11/24(金) 22:40:09 ]
>>406
うへへははwww
もう、酔っぱらってよく分かんねww

でも、デバッグでbufを見たらちゃんと出てただろw
arrayはなんでいんでじゃぁなんだよw

うへwうへへへへww



408 名前:デフォルトの名無しさん [2006/11/24(金) 22:54:33 ]
レスありがとう
でも Dim array(retu, gyo) As Stringでも上手くいかない(ノД`)

409 名前:デフォルトの名無しさん mailto:sage [2006/11/24(金) 22:59:54 ]
integer、string以外で試して見れば?

410 名前:デフォルトの名無しさん mailto:sage [2006/11/24(金) 23:15:18 ]
>409
ぶはははっはwww

あほだw

あほがいるwwww


peekに達したんだからよめね〜だろwww


あほだwwwwwwwwうわははははははwwww

411 名前:デフォルトの名無しさん mailto:sage [2006/11/24(金) 23:16:07 ]
いやそれ以前におかすぃだろ

412 名前:最凶VB厨房 mailto:sage [2006/11/24(金) 23:32:26 ]
Dim sr As New System.IO.StreamReader("c:\data.txt", System.Text.Encoding.Default)
Dim buf As String
Dim retu As Integer
buf = sr.ReadLine 'よーしおにいさん1行よんじゃうぞー。
retu = Len(buf) '列の長さはどの行も一緒。と仮定しちゃうぞー。
Dim gyo As Integer = 1 '既に1行読んでるからなー
Do Until sr.Peek = -1
gyo += 1
sr.ReadLine()
Loop
sr.Close()
sr = New System.IO.StreamReader("c:\data.txt", System.Text.Encoding.Default)
'いったん閉じて開きなおす。よーしまた最初から読み直しだぞー。
Dim array(gyo, retu) As Char 'おにいさんは文字と数値の区別をつけるぞー。行と列逆やんか。
Dim i, j As Integer

Do Until sr.Peek = -1
For i = 1 To gyo 'よーしおにいさん0オリジンなんか嫌いだぞー
buf = sr.ReadLine '↑早くも撤回。
For j = 1 To retu
array(i, j) = buf(j - 1) 'bufは0個目から
Console.WriteLine(array(i, j)) '出力ウィンドウで確認だぞー。
Next
Next
Loop
sr.Close()

413 名前:最凶VB厨房 mailto:sage [2006/11/24(金) 23:37:53 ]
3686
4556
6784
1883
1868
1118
1587

c:\data.txt

VB.NET久しぶりすぎる。
ってかVB.NETだよな?

414 名前:デフォルトの名無しさん [2006/11/24(金) 23:42:40 ]
VB.NET使ってます
最凶VB厨房先生、超親切な解答ありがとう
説明文も丁寧で嬉しいです
本当にありがとう(ノ∀`)

415 名前:407 mailto:sage [2006/11/24(金) 23:45:00 ]
>>414
なぁんだよぉ


俺には感謝の言葉はないのかよぉ?うん?


416 名前:デフォルトの名無しさん [2006/11/24(金) 23:46:05 ]
酔っ払いの兄ちゃんもありがとう(ノ∀`)
みんな優しくて嬉しいです
本当ありがとう

417 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 01:47:17 ]
VBにジャグ配列ってないの?




418 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 01:54:44 ]
あるよ
msdn2.microsoft.com/ja-jp/library/hkhhsz9t(VS.80).aspx


419 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 16:34:29 ]
VBAでEXCELのワークシートからCのenum構造体に変換するマクロ作らされたんだが
あっさりと出来てしまった
VBもこんな感じなの?
VC8でヒーヒーいわされただけに物凄く簡単に思えてしまう漏れは勘違いなのでしょうか?


420 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 00:05:23 ]
>>404
VS2005/.NetFramework2.0以降を使用してたらジェネリックメソッドを使用して

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim sr As New System.IO.StreamReader("c:\data.txt")
Dim intArray() As Integer = Array.ConvertAll(sr.ReadToEnd().Split(vbLf), New Converter(Of String, Integer)(AddressOf StringToInteger))
sr.Close()
End Sub

Private Function StringToInteger(ByVal value As String) As Integer
Return Integer.Parse(value)
End Function

というかんじでもできる
(vbLfのところは、テキストファイルの文字コードによってvbCrLfに変更汁)

421 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 01:46:30 ]
>>404
ごめ、2次元配列だったな

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim sr As New System.IO.StreamReader("c:\data.txt")
Dim buf() As String = sr.ReadToEnd().Split(vbCrLf.ToCharArray())
Dim gyo As Integer = buf.Length - 1
Dim retu As Integer = buf(0).Length - 1
Dim arrbuf() As Integer = Array.ConvertAll(Join(buf, "").ToCharArray(), New Converter(Of Char, Integer)(AddressOf CharToInteger))
Dim arr(gyo, retu) As Integer
Dim p As IntPtr = Marshal.UnsafeAddrOfPinnedArrayElement(arr, 0)
Marshal.Copy(arrbuf, 0, p, arrbuf.Length)
sr.Close()
End Sub

Private Function CharToInteger(ByVal value As Char) As Integer
Return Integer.Parse(value)
End Function

422 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 02:37:41 ]
簡単なことを難しくやる典型的な例ですね

423 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 02:47:06 ]
PinnedArray とか言いつつどこにも Pin している形跡がない件について

424 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 12:24:22 ]
>>421
うははwどこのサイトで調べたかわからないけど、
お前のスキルじゃ、使いこなす事はできないよw

425 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 13:38:13 ]
>>423
ヘルプみるとメソッドが、GCHandleに対してpinを発行してるんだってさ

426 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 13:47:41 ]
そりゃ誤読だ

427 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 14:17:30 ]
>>426
ありゃ誤爆ちゃたのか俺
まあ、読解力低いからな



428 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 17:01:42 ]
プロセスのアイコンを取得することは出来ませんか。(taskmgr.exeのアプリケーションタブにあるように)
やはりAPIが必要なんですかね、、、

429 名前:デフォルトの名無しさん [2006/11/27(月) 19:11:28 ]
C#でのstatic classがShared Classって書けないのはモジュールがあるから?

430 名前:デフォルトの名無しさん mailto:sage [2006/11/27(月) 21:08:16 ]
C#で作ったstatic classをReflectorでVB.NETとして開いたら、

 Friend MustInherit NotInheritable Class

ってなったよ。意味は分からないけど。

431 名前:デフォルトの名無しさん mailto:sage [2006/11/27(月) 21:33:07 ]
絶対に継承しろよ
ただし継承はできないぞ


432 名前:デフォルトの名無しさん mailto:sage [2006/11/27(月) 22:17:45 ]
>>430
コンパイル通らないんじゃね?

433 名前:デフォルトの名無しさん mailto:sage [2006/11/27(月) 22:20:32 ]
VB では未サポートだってば。>静的クラス

434 名前:デフォルトの名無しさん mailto:sage [2006/11/27(月) 22:38:27 ]
モジュール>>>>越えられない壁>>>>静的クラス

435 名前:デフォルトの名無しさん mailto:sage [2006/11/27(月) 22:48:23 ]
頼むから、モジュールは死んでほしい。

VB厨と仕事をする度に思う。


死んでほしい。

436 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 16:08:11 ]
ブラウザのリンク上で特定のキーを押したら
タイトルとアドレスをコピーというものを実装させたいのですが、
ヘルプを見る際どういったキーワードで検索を
すればいいのか教えてください。

437 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 16:15:43 ]
>>436
javaスクリプト



438 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 16:21:31 ]
>>436
BHO

439 名前:トリビア mailto:sage [2006/11/28(火) 23:30:51 ]
VB2005で、ゼロで除算するとエラーじゃなくて∞が返る

440 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 23:31:27 ]
>>439
デバッグとexeで報告よろ。

441 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 00:17:37 ]
明日からVB.NETの研修が1ヶ月間はじまります。
テキストでの座学(独学)3日間→インベーダーゲーム作成
→オリジナルゲーム作成(題材は自由)
です。

VB.NETという言語がいまいちわからないのですが、
ゲーム作成などに優れた言語なのでしょうか?

オリジナルゲーム作成ではテトリスかリバーシを考えております。
グラフィカルな部分でも相当頑張らないといけないみたいで、
今から気が重いです。

442 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 00:33:39 ]
御愁傷様

443 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 01:13:58 ]
>>441
何やってる会社?
VB使うゲーム会社はないだろうし・・・

444 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 01:37:11 ]
>>443
基幹システム設計・開発
ウェブサイト構築・デザイン
携帯電話アプリケーション開発

などなど。正直良くわかっていません。
ゲーム会社ではないのですが、
VB.NETは主にどんな分野で使用されている言語なのでしょうか?

445 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 05:00:43 ]
>>444
>VB.NETは主にどんな分野で使用されている言語なのでしょうか?

答えは自分で書いてるジャン

446 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 05:19:23 ]
っていうか言語の研修なんだろ?
構文や制御くらいしか説明する時間がないから
テーマは簡単なゲームになることが多い。
VB.NETに限らず、なんにも知らんヤツに2〜3日で
データアクセスまで説明できんだろ。

よってVBがゲームに向くとかどうとか関係なし。


447 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 07:18:32 ]
ゲームのほうがロジカルだからいいんじゃね?



448 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 07:28:16 ]
んなこたーない。

449 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 08:48:06 ]
ゲームづくりっつー課題は、道具の使い方を覚えるには適切な教材だよ。

450 名前:デフォルトの名無しさん [2006/11/29(水) 12:36:49 ]
オセロとテトリス、
初心者が作るとしたらどちらが難しいと思いますか?


451 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 12:48:31 ]
オセロ <<< テトリス

オセロは、ユーザーからのアクションをただ待てば
いいだけだから、簡単そう。

452 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 13:25:44 ]
ComboBoxにReadOnlyプロパティがあればなぁって誰もが1度は考えるよね!?

テンプレにあったサイトの中にこれがあったんだけど
ttp://jeanne.wankuma.com/library/readonlycombobox/source.html
まだ不完全ぽい。
ReadOnlyプロパティ変更すると右側の矢印ボタンが消えちゃう。

プロパティは一切変えずにUpdateStyles()だけしても消える。
どういうことなんだろう?
だれかわかる人いませんか?

453 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 13:37:56 ]
.DropDownStyle = ComboBoxStyle.DropDownList;

じゃ駄目なのか?

454 名前:452 mailto:sage [2006/11/29(水) 13:50:21 ]
いや、選択されたリストの変更もさせたくないのよ

455 名前:デフォルトの名無しさん [2006/11/29(水) 13:53:19 ]
コントロール派生させて作ればいいじゃん。
DataBindingとか上手く使えば別に50ステップも無く作れる。


456 名前:452 mailto:sage [2006/11/29(水) 14:22:40 ]
うーん、DataBindingをどう使えばConboBoxを変更不可にできるのか、
いまいちピンときません。
もうちょっとヒントお願い。

457 名前:デフォルトの名無しさん [2006/11/29(水) 17:38:41 ]
コンボから離れろ。
普通のラベルで内部にHashMapなり、値・表示値を保持。
初期化でコンボと同じようにそれを与えて、設定されたValueに対してText表示を変える。




458 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 20:34:53 ]
>>452
いまだにこういう人っているんだね。
WinのGUIの思想が全然わかってない人。

いや、コントロールなんて所詮道具なんだから別に思想に反したって
結局使いやすけりゃそれでOKなんだが、どう考えてもそんなコンボボックスは
ユーザーにストレス与えると思うわ。ス元みたいなGUI使いたくないわ

459 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 21:00:17 ]
いやホント、それってどうしてラベルじゃいけないのか分からん
入力させない、選択させないって時にコンボ使う理由は?

460 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 22:12:31 ]
>>459
保護したときにグレーダウンして字が薄くなるのがだめなんでしょ?

461 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 22:22:36 ]
だからそれが発想が逆立ちしてるんだよ。

ユーザー目線で物考えられないのかな。
見た目普通なのに入力も選択もできないコンボボックスなんて
イライラ製造機以外のなんでもねえだろう

462 名前:デフォルトの名無しさん [2006/11/29(水) 22:27:56 ]
VB.NETでウィザードページみたいなのを作っているのですが
沢山のテキストボックスの内容をチェックして、NextボタンをTrueにしたり
間違いがあるならその項目の文字列を赤にするなどのフォーマットチェック
の凄いバージョンをしたいのですが、どのようにするとスマートなのでしょうか

今はCheck()と言うサブルーチンを作って、それですべてのテキストボックスの
内容を調べて、ボタンをEnableにしたりFalseにしたり、文字を赤にする等を行
なうようにして、すべてのテキストボックスのイベントでCheckが発生するよう
にしています。


463 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 22:40:46 ]
>>461
ほっとけばいいんでない?

>>452
コンボボックスを継承したクラスをつくって、イベント内で
処理をキャンセルするようなプロパティをついくればおk
プロパティ名はIsReadOnlyでおk。


>>462
コントロールチェック用のクラスを作る。


コントロールをオブジェクト配列にでも格納。

チェックを行いたいタイミングで、そのクラス内でチェックを
行えばいいんでない?

464 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 22:58:02 ]
>>461
見難いから見やすくしろというユーザーも少なからずいるんだけどな

465 名前:最凶VB厨房 mailto:sage [2006/11/29(水) 22:59:36 ]
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
AddHandler Application.Idle, AddressOf Check 'Check開始してみるてすつ
End Sub
Private Sub Check(ByVal sender As System.Object, ByVal e As System.EventArgs)
'ずらずらと
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
RemoveHandler Application.Idle, AddressOf Check 'Check終了してみるてすつ
End Sub

466 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 23:09:19 ]
>>465
お前、意外とバカというか、マヌケだな。

467 名前:最凶VB厨房 mailto:sage [2006/11/29(水) 23:16:30 ]
模範解答どうぞ。



468 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 23:54:57 ]
最凶VB厨房が怒ったw


今回の要件は
>すべてのテキストボックスの内容を調べて

>すべてのテキストボックスのイベントでCheckが発生する

の二点かな。
チェック関数をそのままつかったら、意味ないじゃん。
cpuのアイドリングをまって、描画がちょっと良くなるくらいじゃない?

ドトネトになって、イベントの集約が可能になったのは知ってる?
Handles と続けて。

で、チェック用にオブジェクトを格納するクラスを作って、
やりたいチェックを行うメソッドを作れば、いいじゃん。

おれなら、ControlCheckクラスとかなんとかいって作る。
他でも使い回しができるし。

酔いちくれが言える事はこのくらいかな。

469 名前:461 mailto:sage [2006/11/30(木) 00:11:02 ]
>>452
まあ文句言うだけだとアレなんで一応方法考えてみたよ。
試したところこれで一応可能なようだけど。
Win32のメッセージに明るくないんでどこかおかしいかもしれないが。
ReadOnlyってプロパティが既に実装されていることを前提としている。

Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
Const WM_LBUTTONDOWN As Integer = &H201
Const WM_LBUTTONDBLCLK As Integer = &H203

If Me.ReadOnly = True Then
Select Case m.Msg
Case WM_LBUTTONDBLCLK, WM_LBUTTONDOWN
'MyBase.WndProc(m)
Case Else
MyBase.WndProc(m)
End Select
Else
MyBase.WndProc(m)
End If
End Sub






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<273KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef