1 名前:前スレ972 [2005/07/17(日) 20:33:58 ] VB.NETの質問全般です 過去スレ VB.NET質問スレ (Part11) pc8.2ch.net/test/read.cgi/tech/1114217190/ VB.NET質問スレ (Part10) pc8.2ch.net/test/read.cgi/tech/1109343613/ VB.NET質問スレ (Part9) pc5.2ch.net/test/read.cgi/tech/1106577850/ VB.NET質問スレ (Part8) pc5.2ch.net/test/read.cgi/tech/1102512868/ VB.NET質問スレ (Part7) pc5.2ch.net/test/read.cgi/tech/1096683017/ VB.NET質問スレ (Part6) pc5.2ch.net/test/read.cgi/tech/1088812165/ VB.NET質問スレ (Part5) pc5.2ch.net/test/read.cgi/tech/1078134703/ VB.NET質問スレ (Part4) pc2.2ch.net/test/read.cgi/tech/1065269043/ 【老若】VB.net質問スレ【男女】 (Part3) pc5.2ch.net/tech/kako/1056/10562/1056281084.html 【老若】VB.net質問スレ【男女】 (Part2) pc2.2ch.net/tech/kako/1043/10436/1043629429.html 【老若】VB.net質問スレ【男女】 pc2.2ch.net/tech/kako/1025/10258/1025848458.html
159 名前:デフォルトの名無しさん mailto:sage [2005/08/05(金) 12:31:54 ] ディスクの空き容量調べる場合はどうすればいいですか?
160 名前:デフォルトの名無しさん mailto:sage [2005/08/05(金) 12:39:35 ] マネージドで書くならWMIを使う ttp://homepage3.nifty.com/midori_no_bike/CS/filesys.html#181 CreateObjectでFileSystemObjectを作ってGetDrive/FreeSpaceを使う Win32APIのGetDiskFreeSpaceExを使う シェル関数のSHGetDiskFreeSpaceを使う
161 名前:159 mailto:sage [2005/08/05(金) 21:27:50 ] >160 なるほど、ありがとうございました。
162 名前:デフォルトの名無しさん [2005/08/05(金) 21:40:15 BE:347117388- ] クリレポ.NETについて 通常は帳票を印字するときに No. | 県名(ヘッダ) 1, 東京都 2, 神奈川県 3, 千葉県 4, 埼玉県 5, 静岡県 6, 長野県 なぐあいに↓方向に描画するんだけど これを横にして → ヘッダ 詳細 No. 1, 2, 3, 4, 5, 6, 県名 東京都 神奈川県 千葉県 埼玉県 静岡県 長野県 のように表示させたい 横方向に描画する方法まではわかったんだけど ヘッダの部分(No,県名)を詳細の左側に持ってくる方法がわからない 解決方法をご存じだったらご教示いただきたい
163 名前:デフォルトの名無しさん [2005/08/07(日) 03:09:16 ] VB.NETから「VS.NETで作られたマネージドC++のdll」を利用したいのですが アンマネージドC++と同様の方法で利用できますでしょうか? 昔VB6.0のときにC++(アンマネージド)のdllを利用するときは このような↓感じだったと思うのですが。 Declare Function Add Lib "test32.dll" (ByVal nLeft As Integer, ByVal nRight As Integer) As Integer このような書き方で構わないでしょうか。実際にやってみると稼動しているようですが もっと望ましい書き方があるのかなー?と疑問に思いまして。 VB.NETからC#のメソッドを利用するときはインスタンスをnewして 簡単に利用できたのですが…。
164 名前:デフォルトの名無しさん mailto:sage [2005/08/07(日) 03:11:59 ] >>163 本当にManagedのC++なら、参照設定で追加するだけで使える。C#で作ったクラスを利用するのと同じ要領で。
165 名前:デフォルトの名無しさん [2005/08/07(日) 03:23:29 ] >>163 さんと似たような問題、というか状況なので 少し質問させてください。 現在、 VB.NETからManagedC++ (とはいってもunManagedC++をVisualStudio.NETでManaged用に 手直しした程度)のdllをDeclareで呼び出し、その中でさらにunManagedC++のdllを 呼び出すプログラムを作成しています。 しかし、なぜかVB.NETで例外が頻発し、 ラベルやテキストボックスのサイズを指定するところで System.Arithmetic.Exceptionが頻発してしまいます。 ラベルの色指定もできず困っています。 ただ、unManagedC++のdllの利用をやめるとそれが解消します。 unManagedC++のdllの利用って、何か注意が必要でしょうか?
166 名前:デフォルトの名無しさん [2005/08/07(日) 03:26:15 ] > Declare Function Add Lib "test32.dll" (ByVal nLeft As Integer, ByVal nRight As Integer) As Integer > このような書き方で構わないでしょうか。実際にやってみると稼動しているようですが 自分もこの呼び出し方を利用していました。 それで稼動していたし。 C#みたいに参照設定でしようできるんですね。 どっちのほうがいいんですか? 何か違いがあるんでしょうか?
167 名前:デフォルトの名無しさん [2005/08/07(日) 04:44:03 ] >>69 さんの意見も参考にしてねv
168 名前:デフォルトの名無しさん [2005/08/07(日) 05:18:49 ] システムが用意しているアイコンをForm上のPictureboxに 表示したいと思っています。 下記のようにすればコーディングできるとわかりましたが これをどのイベントが発生したときに行えばいいのか悩んでいます。 FormがLoadされたタイミングでやればずっと表示され続けるのかと 思ったのですが、デバッグモードで1行ずつ表示させると一瞬表示されるけど その後見えなくなってしまいます…PaintとかActivatedとかもあるかと思いますが 「一般的なメッセージボックスみたいにアイコンを表示しっぱなしにしたい」とき 皆さんはどうされますか? ↓ 'システムのアイコンを表示する 'PictureBox1のGraphicsオブジェクトの作成 Dim g As Graphics = PictureBox1.CreateGraphics() '既定のアプリケーションアイコン(WIN32: IDI_APPLICATION) g.DrawIcon(SystemIcons.Application, 0, 0)
169 名前:デフォルトの名無しさん [2005/08/07(日) 05:28:51 ] >>164 さんありがとうございます。 以前C#みたいにできたらいいのに、と思っていたので実現できそうと知り安心しました。 「本当にManagedのC++なら」という部分の「本当に」が気になりますが (他社の方が作ってくれたのですが、 一応managedとはいいつつも 既存のC++のソースをVS.NETで開きMFC化しただけ、とも聞いてます… 「本当に」ManagedC++といえるのか、ちょっと心配ですが) ちょっとためしてみます。
170 名前:デフォルトの名無しさん mailto:sage [2005/08/07(日) 11:41:36 ] >>168 自分で出来ることは自分でする、出来る範囲で調べてみる、って意欲がないのなら 悪いこと言わない、プログラミングなんて止めとけ。 >>3 >どぼん!のVB道のトップページとTipsページ >dobon.net/vb/ >dobon.net/vb/dotnet/index.html
171 名前:デフォルトの名無しさん [2005/08/08(月) 21:57:18 ] C#のbase キーワードはVB.NETでは何ですか?
172 名前:デフォルトの名無しさん mailto:sage [2005/08/08(月) 22:00:22 ] MyBase もうちょっと具体的に説明した方が良いよ。基底クラスのメンバにアクセスするためのキーワード、とか。
173 名前:デフォルトの名無しさん mailto:sage [2005/08/08(月) 23:30:38 ] 残念だがそれが出来るやつは聞かんでも分かっとる。
174 名前:デフォルトの名無しさん mailto:sage [2005/08/09(火) 22:54:30 ] アクセスからVB.NETへの移植をやっていますが、 .NETのコンボボックスで質問です。 コンボボックスのドロップダウンリストでいずれかの項目を 選択したときに、それとは別のテキストを表示させたい のですが、そういうことは可能でしょうか? 例えば 0001 ABCDEF 0002 DEFCFE 0003 XYZXYZ というリストがあったときに3番目を選んで、表示は 0003 だけにしたいのです。 ダメなら別の実装方法を考えないといけないです。 可能だとすれば、どの辺のイベントをどのように 処理したら良いものでしょうか?
175 名前:デフォルトの名無しさん mailto:sage [2005/08/09(火) 23:02:08 ] そのリストとやらはどういうオブジェクトなんだ? ArrayList? Stringの配列? それとも単純にItemsプロパティに一つ一つ"0001 ABCDEF" "0002 DEFCFE"……ってAddしていったのか?
176 名前:デフォルトの名無しさん mailto:sage [2005/08/09(火) 23:17:40 ] >>174 DropDownStyleをDropDownにしといてSelectedIndexChangedイベントで Text設定するだけちゃうの? >>175 は池沼か?
177 名前:デフォルトの名無しさん mailto:sage [2005/08/09(火) 23:27:55 ] >>176 試してみた?
178 名前:デフォルトの名無しさん mailto:sage [2005/08/10(水) 00:35:03 ] ああそうか、単純にイベントでText設定してもダメだったような記憶がある。 ドロ臭い方法だけど、SelectedIndexChangedでタイマ起動して タイマのイベントでText書き換えれば確実に出来る。 ドロ臭いのが嫌ならComboBox継承してOnSelectedIndexChangedをオーバーライド してやれば可能じゃないか?
179 名前:デフォルトの名無しさん mailto:sage [2005/08/10(水) 00:39:11 ] >>178 泥臭い。 DisplayMemberを利用すべき。
180 名前:デフォルトの名無しさん mailto:sage [2005/08/10(水) 00:44:33 ] え?
181 名前:デフォルトの名無しさん mailto:sage [2005/08/11(木) 09:13:29 ] 長時間掛かる処理にキャンセルボタンを付けたいのですが キャンセルボタンだけがあるフォームをポップアップして メイン画面のほうはさわれないようにしたいんですが どうしたらよいでしょうか?
182 名前:181 mailto:sage [2005/08/11(木) 10:06:43 ] できました。
183 名前:デフォルトの名無しさん mailto:sage [2005/08/11(木) 13:09:44 ] まあ、あれだ、ホントにキャンセルボタン押せるか確認してくれ
184 名前:181 mailto:sage [2005/08/11(木) 13:54:56 ] 押せたよ。マルチスレッドって便利すぎ
185 名前:デフォルトの名無しさん mailto:sage [2005/08/11(木) 15:51:33 ] テキストボックスに余白を設定したいのですが、どうすればよいでしょうか? VB6なら、SendMessageを使って出来たのですが、.NETの方は同じやりかただと出来なかったので。 以下が書いてみたコードです。 Private Const EM_SETMARGINS As Integer = &HD3s Private Const EC_RIGHTMARGIN As Integer = &H2s Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As IntPtr, ByVal wMsg As Integer, ByVal wParam As Integer, ByRef lParam As Integer) As Integer Private Function MAKELONG(ByVal i As Integer, ByVal j As Integer) As Integer Return (i And &HFFFF) Or (j * &H10000) End Function Call SendMessage(textbox1.hand, EM_SETMARGINS, EC_LEFTMARGIN, MAKELONG(lngNewValue, 0)
186 名前:デフォルトの名無しさん mailto:sage [2005/08/11(木) 16:19:49 ] >>185 lParamを何故かByRefで渡しちゃってるよ。
187 名前:185 mailto:sage [2005/08/11(木) 16:36:40 ] >>186 Σ(゚д゚ ) うぉ。ホントだ ByVal に直したらいけました。 なんて初歩的なミスを、、、_| ̄|○ お騒がせして申し訳ありませんでしたm(_ _)m
188 名前:デフォルトの名無しさん mailto:sage [2005/08/11(木) 23:09:50 ] VB.NETでクッキーを作ることって可能ですか? ヤフーチャットにブラウザからLOGONする時、 ユーザ名とパスワードを自動で入れたいのですが 現在自宅にネット接続環境が無いため ネットカフェor職場での利用となるので履歴が残せず、 項目を毎回入れなければなりません 同じようにメールチェックなどが非常に困難です・・・。 クッキーは1分で消えるように設定したいと思ってます VB.NET初級者の私でも作れるでしょうか? どうかアドバイスお願いいたします・・・
189 名前:デフォルトの名無しさん mailto:sage [2005/08/11(木) 23:13:27 ] IEのクッキーを作りたいのか、独自アプリでクッキーに対応したいのかどっちだ。
190 名前:デフォルトの名無しさん [2005/08/11(木) 23:29:37 ] >>189 レスありがとうございます IEのクッキーを作りたいです まずはexeを実行して comboboxからユーザー名を選択して実行すると パスワードと共にクッキーとして保存されて、 LOGONページを開くとユーザ名とパスワードが入力済みとか。 アカウント数とユーザ名が長いので 複数件の登録をしたいんですが・・・。 初級者には不可能でしょうか??
191 名前:デフォルトの名無しさん mailto:sage [2005/08/11(木) 23:52:49 ] >534: 名無しさん@お腹いっぱい。 [sage] 04/10/23 14:37:24 ID:fg9Ewxsa >'Yahooにログイン.vbs > >'------------------- > >Const login = "なまえ" >Const passwd = "ぱすわーど" >Set ie = CreateObject("InternetExplorer.Application") >ie.visible = True >ie.navigate "www.yahoo.co.jp/r/l1 " >Do > WScript.Sleep 100 >Loop While ie.Busy >With ie.document.forms(0) > .item("login").value = login > .item("passwd").value = passwd > .Submit >End With
192 名前:デフォルトの名無しさん mailto:sage [2005/08/12(金) 00:17:54 ] >>191 さん 188です! 拡張子をvbsにして実行したところ、成功いたしました! 本当にありがとうございました!
193 名前:デフォルトの名無しさん [2005/08/12(金) 17:22:03 ] VB6ではtextBoxをコントロール配列に出来たと思うのですが、VB.Netでは出来なくなったのでしょうか? 何か変わりの方法が用意されてますか? ----VB6----- for i = 0 to 10000 textbox(i)=i next i みたいなのです。
194 名前:デフォルトの名無しさん mailto:sage [2005/08/12(金) 17:30:25 ] 自分で作るしかない。どぼんにそれっぽい実装コードがある。 というかそんな不安定な機構いらない。
195 名前:181 mailto:sage [2005/08/12(金) 17:33:44 ] え?不安定な機構?
196 名前:デフォルトの名無しさん mailto:sage [2005/08/12(金) 18:35:52 ] >>193 ttp://dobon.net/vb/dotnet/control/buttonarray.html
197 名前:デフォルトの名無しさん mailto:sage [2005/08/12(金) 19:39:34 ] >>193 自分で別途コントロールの参照変数を配列にして参照するやり方が1つ。 または、名前を連番にしてコントロールを名称で呼び出すやり方。 または、Tagプロパティを上手く使ってやるやり方。 .net推奨は最後のTagか?
198 名前:デフォルトの名無しさん mailto:sage [2005/08/12(金) 22:36:13 ] コントロール配列にはVB特有の曖昧さがもたらす暗黒面もあったものの、 便利な面があったのも事実だと思うけどね。 あと、一応.NETでもコントロール配列の代替手段は容易されているよ。 VB6でコントロール配列つかった簡単なプロジェクト作って アップグレードウィザードでアップグレードしてみ? っていうか、質問する前になんでこんな当たり前のこと試してみないんだろう。
199 名前:最凶VB厨房 mailto:sage [2005/08/12(金) 22:39:37 ] アップグレードウィザードはどこにあるんだ?
200 名前:デフォルトの名無しさん mailto:sage [2005/08/12(金) 22:53:25 ] >>199 知ってるくせに(笑) 厨房氏はスレが荒れそうになると現れるな プレデターか君はw
201 名前:最凶VB厨房 mailto:sage [2005/08/12(金) 23:43:24 ] >>200 しらねーから聞いてんだ! 何もしらねー何もわかんねー!!はぁぷみー
202 名前:デフォルトの名無しさん mailto:sage [2005/08/13(土) 00:57:53 ] 質問させてください。 複数のラベルが存在しているユーザーコントロールを作成しました。 その中にとあるラベルの前景色、背景色を指定するプロパティがあり、 初期値をユーザーコントロールの前景色、背景色としたいのです。 貼り付けた時点では確かにその色がプロパティへセットされるのですが、 ユーザーコントロール自体の色を変更した際、そのプロパティの値は 変わらない状態です。 なにかいい方法はありませんでしょうか? 通常のForeColor、BackColorプロパティのように、 初期値なしみたいな設定できればいいのですが・・・。
203 名前:デフォルトの名無しさん mailto:sage [2005/08/13(土) 01:00:10 ] ユーザコントロールのBackColorChanged&ForeColorChangedで変更すればいいだろ
204 名前:デフォルトの名無しさん mailto:sage [2005/08/13(土) 01:17:10 ] >203 それも試してみたんですが、 今度は「とあるラベルの色を指定するプロパティ」に独自の値を 設定していた場合、「コントロール自体」の色を変更すると、指定していた色が クリアされてしまいました・・・。 あと、プロパティブラウザで常に太字になるのは避けたいんですが・・・。
205 名前:デフォルトの名無しさん mailto:sage [2005/08/13(土) 01:22:48 ] イベントを作成する場合に(例えば、Clickの場合) 「OnClick」と「Click」がありますが、違いがよくわかりません。 どのように使い分けたらいいのか教えてエロい人!
206 名前:デフォルトの名無しさん mailto:sage [2005/08/13(土) 01:33:25 ] >>204 「とあるラベルの色を指定するプロパティ」で、値を別フィールドにとっておいて イベントで独自色を使用してるかどうか判断すればいいだろ。 プロパティブラウザ? 気にするな。 気になるのならParentChangedでParentのBackColorとForeColorに合わせるようにするとかどうだ。 >>205 Onの方はProtectedなメソッドなので継承したクラスでオーバーライドするしかない。 そのかわり基底クラスのイベントを多少コントロールできる。 派生コントロールを作らないのならOnをいじる機会はない。 派生コントロールを作るのならデリゲートオブジェクトを作らないのでOnをオーバーライドする方が多少効率的。
207 名前:デフォルトの名無しさん mailto:sage [2005/08/13(土) 03:30:00 ] 教えてください。 関数の中には、引数を指定しない場合、デフォルトの値が適用されるものがありますが、 これを自分で作成した関数で再現する場合、どのようにすれば良いのでしょうか 例えば↓で、bolFlag が指定されていないときは、True を指定したい Public Function MyModule(Byval strData As String, Byval bolFlag as Boolean) As String ... End Function
208 名前:デフォルトの名無しさん mailto:sage [2005/08/13(土) 03:33:55 ] ヘルプで調べると良いよ Visual Basic 言語リファレンス
209 名前:デフォルトの名無しさん mailto:sage [2005/08/13(土) 04:22:36 ] Optional ByVal bolFlag As Boolean = True ですね。 ありがとうございました。
210 名前:204 mailto:sage [2005/08/13(土) 13:37:52 ] >206 重ねてのアドバイスありがとうございます。 OnForeColorChangedと、その追加したプロパティのセッターで コントロール自体の色と一致しているかを保存しておき、 一致している場合のみ連動させるようにしました。 今のところ意図した動きになっているようです。
211 名前:デフォルトの名無しさん mailto:sage [2005/08/13(土) 17:27:56 ] 追加で自己レス ShouldSerialize[プロパティ名]を利用することで、 プロパティブラウザでコントロールの色と同じであれば 太字にならない(=ソースに色指定が出力されない) ようになりました。
212 名前:デフォルトの名無しさん mailto:sage [2005/08/13(土) 21:29:40 ] 質問です。 グローバルIPアドレスを取得したいのですが、どうすればよいでしょうか? ttp://dobon.net/vb/dotnet/internet/dnslookup.html このページの方法では、LANやルーターから割り振られたアドレスしか取得できないので。
213 名前:デフォルトの名無しさん mailto:sage [2005/08/13(土) 22:14:57 ] 〃∩ ∧_∧ ⊂⌒( ・ω・) はいはいわろすわろす `ヽ_っ⌒/⌒c ⌒ ⌒ じゃかわいそうなのでマジレス。 内側だけで直接グローバルIPを見ることはできない。 たぶんDiCEみたいなDDNS更新ツール (それかネットワークゲーマー用のユーティリティ?)を作りたいんだと思うけど、 やるなら外のページを定期的に見に行って、環境変数のREMORT_ADDRを 取得して比較するくらいしか方法ないと思う。 せめてルータが決めうちできれば、コマンドでの取得できそうだけどね。
214 名前:デフォルトの名無しさん mailto:sage [2005/08/13(土) 22:17:54 ] ギャース、REMOTE_ADDRだった。 逝ってきます・・・。
215 名前:デフォルトの名無しさん mailto:sage [2005/08/14(日) 10:27:19 ] DataGridで、カラムを複数行にする方法はありませんか? テーブル:項目1,項目2,項目3,項目4,項目5 みたいなのを 項目1|項目2|項目3 |項目4|項目5 みたいな感じに表示させたいです。 よろしくお願いします。
216 名前:デフォルトの名無しさん mailto:sage [2005/08/14(日) 13:18:42 ] SELECT 項目1,項目2,項目3 FROM HOGE UNION SELECT NULL,項目4,項目5 FROM HOGE
217 名前:215 mailto:sage [2005/08/14(日) 21:31:19 ] >>216 ありがとうございます。 やってみたのですが、データの中身は2段になったのですが、項目名称が2段にならなかったです。 項目名称は1行しか無理でしょうか。
218 名前:デフォルトの名無しさん mailto:sage [2005/08/15(月) 10:31:59 ] CheckBoxにReadOnlyプロパティを追加したユーザコントロールを 作ろうとしています。 イメージとしては、チェックボックスがEnabled=Falseの状態、 文字列は通常のままにしたいのですが、 何かいい方法はありませんでしょうか? できればCheckBoxを継承して作成したいのですが。
219 名前:デフォルトの名無しさん mailto:sage [2005/08/15(月) 10:39:17 ] CheckStateプロパティと、OnCheckStateChangedメソッドのオーバーライドでいいんじゃね?
220 名前:デフォルトの名無しさん [2005/08/15(月) 13:21:55 ] >>217 SELECT 項目1,項目2,項目3 FROM HOGE UNION SELECT NULL,'項目名4','項目名5' UNION SELECT NULL,項目4,項目5 FROM HOGE てか、たぶんあなたのやりたいことは無理です。
221 名前:デフォルトの名無しさん mailto:sage [2005/08/15(月) 17:23:25 ] vb.net(プログラム自体も・・・)始めたばかりのピヨピヨです。 いろいろ調べたんですがどうしても解らないことがあります。 質問してもいいですか?
222 名前:デフォルトの名無しさん [2005/08/15(月) 17:25:13 ] VB6のころはテキストボックスのGotFocusでテキストを 全選択するのが良く行われてましたけど、VB.NETでは これはできるのでしょうか? 単純にGotFocusでSelectAllメソッドを使ったのでは できないようなのですが。 もともと、これは好きじゃないのですが、業務アプリの 慣習というのがあるんですよね。できない、かなり難しい というのであれば、上の人を説得できるので。
223 名前:デフォルトの名無しさん mailto:sage [2005/08/15(月) 17:42:13 ] ん? 普通にできるけど? ちなみに.NETではGotFocus/LostFocusよりもEnter/Leaveが推奨されている。
224 名前:デフォルトの名無しさん mailto:sage [2005/08/15(月) 17:45:07 ] >222 私もあまり好きじゃないのですが、同じく業務アプリ屋なので・・・。 VB.netの場合、EnterとLeaveで出来ます。 もしクリックした場合も全選択させたいなら、MouseDownも。 (うちはマウスクリックの場合は全選択させません) ちなみに、Enterでもタブ移動させたいって言われてませんか?w
225 名前:デフォルトの名無しさん mailto:sage [2005/08/15(月) 19:39:32 ] 妙なこと言う人たちだなあ。。 それって好き嫌いの問題か? フォーカス移動時の全選択って合理性あるでしょ。 テキストエディタのように既存の文字列を編集する、ってアプリならともかく、 ほぼ毎回入力されるデータが変わる、っていうようなアプリなら。 だいいち、客に出すラーメンの味にラーメン屋自身の好みを押し付けるって不遜じゃないか。
226 名前:デフォルトの名無しさん mailto:sage [2005/08/15(月) 19:54:41 ] なんでそんなことでケチつけるかなぁ? 個人的に好きじゃないことの何が悪い? 意固地になって実装しないわけじゃないし。 注文されればその通りに作ってるさ。
227 名前:デフォルトの名無しさん [2005/08/15(月) 19:58:31 ] >225 コボラー乙
228 名前:最凶VB厨房 mailto:sage [2005/08/15(月) 20:58:20 ] こだわりのラーメンは是非食いたいネ あー腹減った。
229 名前:デフォルトの名無しさん [2005/08/15(月) 23:05:29 ] TcpClient で存在しないアドレスにconnectすると、 えらい時間が掛かってExceptionが返ってくるのだけど、 connectのタイムアウトを設定ってできないの?
230 名前:デフォルトの名無しさん mailto:sage [2005/08/15(月) 23:40:07 ] できない。 別スレッド作るかSystem.Timers.Timerを使うかして、そっちで強制的にCloseするぐらいか。 でもTcpClientでは接続中かどうかを判断もできないんだよね。.NET 2.0で思い出したように追加されたけど。 派生クラスを作ればProtectedメンバのClientプロパティ経由で状態を知ることはできるんだが。 派生クラスでタイムアウト付きConnectでも定義するか。 素直にSocket使った方が早いかもね?
231 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 00:01:14 ] >>230 粗雑な問いに、丁寧にお答えいただき、大変恐縮でございます。 ご意見、参考にさせて頂きます。ありがとうございました。
232 名前:デフォルトの名無しさん [2005/08/16(火) 09:03:51 ] >>224 Enterイベントだとタブでの移動では全選択されるようなのですが、 マウスでクリックした場合は全選択されないですよね? Clickイベントで実装するとテキストボックス内で他の場所を クリックしたときにも全選択されてしまうし。
233 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 10:36:43 ] >232 いや、だからMouseDown >テキストボックス内で他の場所 これってどういう意味ですか?
234 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 11:20:26 ] >>232 >Enterイベントだとタブでの移動では全選択されるようなのですが、 >マウスでクリックした場合は全選択されないですよね? いや、実際は一旦全選択されているはずだけれどもね。 恐らく一旦全選択された後、解除されてしまうんだよね。 単にクリックしたはずが、クリックしたついでに微妙にドラッグになってしまっているために。 >>233 だいたい話の文脈でわかるでしょ? そうでないならこの話題にのっかる資格はないと思うけど。 フォーカスが来たとき以外も全選択されてしまうということでしょう。
235 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 11:57:37 ] >234 >恐らく一旦全選択された後、解除されてしまうんだよね。 これはあってる。 >単にクリックしたはずが、クリックしたついでに微妙にドラッグになってしまっているために。 これはちがう。単なるクリックでも全選択は解除される。 イベントハンドラの発生順の問題。 もし微妙にドラッグしちゃった時でも全選択させたいならMouseUp。 フォーカスが元々ある状態の場合は全選択したくないということであれば、 フラグでEnter経由かどうか判断するのがいいかと思う。 あと、いちいち絡むなよ。
236 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 12:07:32 ] あー、ごめ。単にEnter経由で判断だけだと、 タブ移動後にクリックした時にも全選択になっちゃうわ。 なんかうまい方法ないかなぁ。
237 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 12:12:18 ] Private mouseEnter As Boolean = False Private Sub TextBox_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Enter Me.SelectAll() If Me.MouseButtons <> MouseButtons.None Then mouseEnter = True End If End Sub Private Sub TextBox_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseUp MyBase.SelectAll() mouseEnter = False End Sub
238 名前:235-237 mailto:sage [2005/08/16(火) 12:13:56 ] マウスクリックでのEnterかどうかを判断するようにしてみた。
239 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 12:14:22 ] >あと、いちいち絡むなよ。 馬鹿じゃないの。 「何も分かってないならだまってろ」 それを君に遠まわしに言ってるのに。。
240 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 16:31:55 ] なんだもっと煽り合いになるかと思ったのに過疎っちまいやがったつまらん
241 名前:最凶VB厨房 mailto:sage [2005/08/16(火) 17:02:40 ] 次はもうちょっとうまいこと釣ってくれよ。
242 名前:デフォルトの名無しさん mailto:sage [2005/08/17(水) 22:21:50 ] >>all 色々ありがとうございます。 MouseDownで実装してみましたが、これもClickと 同様、テキストボックスのテキストの一部だけを選択 することができなくなるという問題がありました。 >>237 オリジナルのテキストボックスを作るのかな? 面倒だから、そこまでは勘弁して欲しいな・・・。 VB.NETの継承とかコントロールの作り方はまだよく 分からないので。
243 名前:デフォルトの名無しさん mailto:sage [2005/08/17(水) 22:34:07 ] >>242 ユーザーコントロール作るの意外と簡単だよ。 前にも書いたけど、例えばここで解説されてる www12.plala.or.jp/pc-labo/vb_net/14/main.htm まあ実際には、ここの方法を応用してクラスライブラリ化した方が使いやすいと思う。 ユーザーコントロール作らないとしても、Tagにフラグ(mouseEnter)を食わせれば ソースを必要以上に汚さずに>>237 のやり方が使えると思う。
244 名前:デフォルトの名無しさん mailto:sage [2005/08/17(水) 23:00:54 ] 会社で作った.netのソリューションファイルを家に持ってきて開こうとしたら開けません。 家のは2002で会社のは2003なんですけど、全く互換性無いんですか?
245 名前:デフォルトの名無しさん mailto:sage [2005/08/17(水) 23:03:31 ] 2002のを2003のにするのはできるけど逆は無理。 一度2002のから2003のに変換したら逆変換は不可能。
246 名前:237 mailto:sage [2005/08/18(木) 00:20:27 ] >242 243に同意。テキストボックスが複数あるなら(というかあるだろうし) 絶対にユーザーコントロール作ったほうがいいと思います。 おんなじロジックを全てのテキストボックスに組み込むなんて ありえないっすよ。 あと、237のですが、mouseEnterがイベントハンドラの名前と かぶってます。ちゃんと見直してからうpしろよ俺。 とりあえず、他の名前にしてください。
247 名前:デフォルトの名無しさん mailto:sage [2005/08/18(木) 17:13:45 ] VB.NETというよりAxWebBrowserの質問になるんですけど、 AxWebBrowserで表示されているPageからzipファイル等がResponse.Redirectされた場合、 ダウンロードが開始されるんですけど、そのダウンロードされているファイルのURLは取れますか?
248 名前:デフォルトの名無しさん mailto:sage [2005/08/18(木) 18:12:00 ] 普通にBeforeNavigate2とかで取れるだろ
249 名前:247 mailto:sage [2005/08/18(木) 21:15:24 ] 実際に画面表示しないと取れないんですよ・・・。 zipとかのファイルであった場合、ダウンロードされるだけで画面表示されないので、 URLが変更されないみたい・・・。
250 名前:デフォルトの名無しさん mailto:sage [2005/08/18(木) 21:27:33 ] 変更? AxSHDocVw.DWebBrowserEvents2_BeforeNavigate2EventにuRLプロパティが存在するが?
251 名前:247 mailto:sage [2005/08/18(木) 22:25:54 ] 確かに存在するのですが、ダウンロードされるファイルのURLがuRLプロパティには入っていないんです。 nRLプロパティには現在表示しているURLが入っています・・・。
252 名前:247 mailto:sage [2005/08/18(木) 22:26:51 ] ひょっとして、Response.Redirectがだめなんですかね・・・?
253 名前:デフォルトの名無しさん mailto:sage [2005/08/19(金) 00:05:39 ] リダイレクトが発生したときのリダイレクト先のURLはNavigateComplete2が一番早く取得できるみたいだね。 リダイレクトでダウンロードが発生するところを知らないから試せないが。 で、これがzipとかの場合AxSHDocVw.DWebBrowserEvents2_NavigateComplete2EventのuRLプロパティが正しく指さないってこと? リダイレクトでhtml、直接zipはどっちも正しく指すんだけど。 //ん〜、FileDownloadが発生しない……
254 名前:デフォルトの名無しさん mailto:sage [2005/08/19(金) 06:54:28 ] VB.NETかVB6でできるだけ多くの環境で動くネットワークプログラムを作りたいんすけど その場合VB6を選択すべきですか? .NET FrameworkってXPでもデフォルトでインストールされてないし。
255 名前:247 mailto:sage [2005/08/19(金) 09:21:50 ] AxWebBrowser.Navigate2でzipファイルを指定するとNavigateComplete2.uRLで確かにzipファイルのURLが取得出来るんですが、 webForm1.aspxをNavigate2した後に、aspxのButton_ClickでzipファイルをResponse.Redirectしても NavigateComplete2.uRLにはwebForm1.aspxのURLが入ってる状態です。 FileDownloadは発生しないですね・・・。
256 名前:デフォルトの名無しさん mailto:sage [2005/08/19(金) 09:24:12 ] >>254 別にインストーラー作ればいいだけだし。 今更新規にVB6で作るって何考えてるのって思うし。
257 名前:デフォルトの名無しさん mailto:sage [2005/08/19(金) 09:37:01 ] >>256 んだな。今更ocx入れるのマンドクセ。
258 名前:デフォルトの名無しさん mailto:sage [2005/08/19(金) 13:50:47 ] 別のPCのLAN上にIISがインストールされていれば ローカルにIISがインストールされていなくても ASPとかつくれますかね?
259 名前:デフォルトの名無しさん mailto:sage [2005/08/19(金) 14:27:04 ] 何作るかしらんが、作るだけなら作れるでしょ。 ASPってのが何指してるのか不明だけど。