1 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 17:44:56 ] 前スレ VB.NET質問スレ(Part30) pc12.2ch.net/test/read.cgi/tech/1242522019/l50 テンプレは>>2 〜
214 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 08:04:21 ] Refactor!ってやつがなかなかいいよ
215 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 16:12:39 ] Function GetItems(type As Type) As Object() Dim items As Object() 〜 If type Is GetType(String) then items = new String() {} 〜 return items End Function Dim names() As String = GetItems(GetType(String)) とすると「InvalidCastException」になりました。 CTypeやDirectCastも試してみましたが同じ結果でした。 要素を1つずつコピーすれば出来ると思うのですが、もっと単純な方法はありませんか?
216 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 16:17:17 ] 普通に Generics 使えよ。
217 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 16:19:54 ] そんなメソッドの使いどころが全く分からない
218 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 16:29:30 ] 戻り値やitemsの型をArrayにしたらいいんじゃね 普通はジェネリック使うべきだけど
219 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 16:32:56 ] >>215 何がしたいのか意味が全然わからないが、 呼び出し側でString()を常に期待する(>>215 のコードを見る限り、そう取れる) のなら、GetItems()の返り値の型をString()にすれがいいんじゃないの? Typeオブジェクトで指定した型の配列を返すようにしたいってこと? それはできないから、どうしてもというならObject(Object()ではない)を 返すようにして、呼び出し側でキャストするしかない。
220 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 16:41:48 ] If type Is GetType(String) then items = new String() {} If type Is GetType(Integer) then items = new Integer() {} If type Is GetType(Double) then items = new Double() {} みたいなことをやりたいんじゃないの?
221 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 17:04:54 ] それだったら Function CreateArray(Of T)(ByVal size As Integer) As T() Return New T(size){} End Function
222 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 17:15:10 ] 単純にArray.CreateInstance()使えば?
223 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 17:31:59 ] 要素コピーとかいってんだから配列作るだけじゃないんだろ
224 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 17:37:53 ] >>215 です。 やりたいこととしては>>220 に近い感じです。 〜Collectionとかの要素をオブジェクトの配列として参照したり文字列の配列として参照したりしたかったのです。 ジェネリックは2005から使えるみたいなので私の使っている2003では使えませんね。 Object()ではなくObjectにすればキャスト出来るみたいなので試してみます。
225 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 18:38:15 ] ああ、2003のことを忘れてた
226 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 18:40:53 ] 先に言えよハゲ
227 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 21:26:59 ] はじめから配列も〜CollectionもIListとして扱えばいい すべて共通のコードで扱える
228 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 21:36:45 ] 2003なんですが質問です。 DataGridで特定の行に色設定し、さらに行選択もできるようにしたいんです。 DataGridで特定の行に色設定することは、 DataGridTextBoxColumnを継承してクラスを作成し、 Paintメソッドをオーバーライドすることで出来ました。 行選択もHandles DataGrid1.Paintしたメソッドに DataGrid1.Select(DataGrid1.CurrentRowIndex) を書けばできました。 でも両方をいっぺんにやる方法が分かりません。>< たぶん、オーバーライドしたPaintクラスから DataGrid1.Selectが出来れば良いんだと思いますが、 やり方が分かりません。 どなたか教えてくださいませんか?
229 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 08:06:28 ] SELECT * FROM npcname_jp jp INNER JOIN npc eg ON jp.id=eg.id 上記SQLでセレクトしたテーブルをリストボックスに入れて DisplayMemberpを jp.id などにすると、なぜかそのような列が見つからないようで、表示に反映されません。 なぜだか分かる方いませんか(;´Д`)
230 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 08:20:00 ] SELECT jp.id as hoge, * FROM npcname_jp jp INNER JOIN npc eg ON jp.id=eg.id としてhogeにしてみたら?
231 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 08:54:12 ] 超ありがとう 積年の恨みが一瞬で解決した 痔は治らないが
232 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 11:30:19 ] 「なぜそうなるのか」がわかってないと解決とは言えないと思うんだぜ?
233 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 19:10:56 ] と思うんだが? と思うぜ?
234 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 14:00:12 ] >>233 … まあ最近見ない表現だから解らんのも無理はない。<「〜だぜ?」
235 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 15:55:32 ] 表現だぜ? 無理だぜ? と言っても 見ないんだぜ? 解らんだぜ? とは言わなんだぜ?
236 名前:デフォルトの名無しさん [2009/09/08(火) 23:24:19 ] vb2008express editionを使っています ウインドウ左上のアイコンを変更するにはどうすればいいでしょうか? ちなみにアイコンそのものは変更してみましたが変わりませんでした
237 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 23:45:02 ] ttp://www.google.co.jp/search?q=vb.net+アイコン+変更
238 名前:デフォルトの名無しさん [2009/09/09(水) 00:13:38 ] >>237 アイコンの変更は試しましたがウインドウの左上の絵がかわりませんでした
239 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 00:27:29 ] >>238 どっちの?
240 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 00:46:36 ] >>239 どっち?
241 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 03:08:40 ] HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt このキーに新しいキーを追加してメニューから自作アプリを起動たいのですが レジストリキーの既定のところに c:\test.exe と書いても起動しないのですが他にどんな設定をしたら良いでしょうか?
242 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 08:10:19 ] スクリプトしか実行できないんじゃなかったっけ?
243 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 15:15:40 ] 他にどんな設定をしてもだめ
244 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 17:30:28 ] すみません初歩的な質問です。 今まで独学でvb.net+mdbのデータベースを勉強しているのですが、サンプルに使っているSQL文がそのままだとJETに使えないため、いっそMySqlに乗り換えようと試みています。 いろんなサイトでMySqlのデータベースを作成することはできたのですが、なぜかそのファイルが生成されていないみたいです。 「ファイル+vb.netで作ったアプリケーション」を人に渡して使ってもらうようにしたいので、どうしてもファイルが必要です。 また、渡した相手のローカルコンピュータにはMySqlは基本的にありません。 もしくはvb.netのソースコード側でMySqlのデータベースファイルを生成する方法でもあるのでしょうか? よろしければ教えてください。
245 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 18:51:00 ] sqliteを使えばいいかと
246 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 19:01:26 ] www.dbonline.jp/sqliteinstall/index.html これですね、ちょっとやってみます。 中の文面を流し読みした感じ、SQLiteの特徴として「単一のファイルでデータベース管理できるので簡単」とありましたが つまり普通のデータベースではそういう管理をしないということなのですね
247 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 19:21:02 ] データベースって何?って事を理解したらいいかと思う
248 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 20:31:03 ] データベースといっても色々あるがな
249 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 21:08:08 ] SQLiteかわいいよSQLite
250 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 23:59:08 ] >>242-243 ありがとう。他のアプリの設定を見たら全部スクリプトになってました。
251 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 14:15:24 ] あの 昨日の244ですけど 結局何がしたかったかっていうと、勉強がてら、某ゲームのデータベースを作ってたんです。 が、そのSQL文がSQLiteには通りませんでした(;´Д`) やむを得ずMySqlに変えてSQL発行してみると普通に通ってしまいました。 www.l2jdp.com/svn/trunk/datapack_development/sql/raidboss_spawnlist.sql ↑SQLのソースはこれです。 あ、今回は特に質問ではないですが事後報告ということで。 お答えくださった方、ありがとうございました。
252 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 16:51:08 ] あー、そりゃ通らねぇだろうなあ。 MySQL と PostgreSQL 以外にこの構文受け付けるやつってあったっけ?
253 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 03:55:27 ] 2009/09/10 【国際】 中国 「IT製品、ソースコード開示せよ。情報漏洩はないから」…日本側が撤回求めるも、予定通り実施へ ★5s01.megalodon.jp/2009-0910-2351-20/tsushima.2ch.net/test/read.cgi/newsplus/1252552869/ ★4s04.megalodon.jp/2009-0910-1154-15/tsushima.2ch.net/test/read.cgi/newsplus/1252535413/ ★3s04.megalodon.jp/2009-0910-0825-37/tsushima.2ch.net/test/read.cgi/newsplus/1252516744/ ★2s03.megalodon.jp/2009-0910-0347-50/tsushima.2ch.net/test/read.cgi/newsplus/1252499899/ ★1s02.megalodon.jp/2009-0910-0347-12/tsushima.2ch.net/test/read.cgi/newsplus/1252487422/
254 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 08:38:04 ] 2005から2008ってどう変わったの? 乗り換えるメリットある?
255 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 09:54:21 ] ・VB9(LINQ, ラムダ式, 型推論, XMLリテラル) ・.NET3.0&.NET3.5(WPF,WCF等) ・.NET2.0の部分は変更なし WPFとか使わないならそんなに変わらない どうせWinFormsはVS2010以降も放置だろうけどな
256 名前:デフォルトの名無しさん [2009/09/12(土) 23:24:55 ] VBでTCP、UDP通信ができるプログラムを作りたいのですが、 VB6でwinsock使ってやってたのですが、 VB2008やらVB.netでも同様にできるのでしょうか?
257 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 23:40:13 ] ググってみつからないようなことならまだしも、 ググればその手の情報はいっぱい出てくるじゃん。
258 名前:デフォルトの名無しさん [2009/09/13(日) 00:36:19 ] でてこねーからいってんだろ
259 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 00:39:10 ] >>258 そりゃぁ、回線を首に巻いて首吊って回線切れてんだから ぐぐっても出ねぇよw
260 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 00:49:11 ] こういうことを実現したくて、調べたところこういうことがわかりましたが、 このソースのこの部分がよく分りません。そこでこういうふうにしてみましたが、 こういうエラーが出てうまく行きません。このエラーはこういう意味みたいなので、 ここをこうしてみましたが同じエラーがでます。他にエラーの原因として考えられる ことはあるでしょうか? ...みたいな努力のあとは欲しいわな。いくらゆとりとはいえ。
261 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 00:55:58 ] 「VB.NETでTCP/UDPを扱う」じゃなくて 「VB.NETでWinsockを使う」って考えで調べるからダメなんじゃないだろうか、この手の人
262 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 00:57:47 ] >>256 winsockってwinsock.ocxの事かな? であればvb.netでもocxは使えるので同じように作れるけど。
263 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 02:54:39 ] VB6って言ってるから「dll」の方だと思われ
264 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 03:50:19 ] わしが男塾塾長 江田島平八である!!
265 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 07:57:05 ] GroupBoxとPanelの違いは?
266 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 08:12:30 ] お前のレスそのままグーグルで検索かけろ
267 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 09:53:34 ] >>263 ocxじゃ無くなったんですか。 vb.netでもCOMなdll呼べるし、Dllimportでwinsock APIも呼べるし ソケットプログラムには不自由しませんね。
268 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 10:01:47 ] いや、普通にSystem.Net.Sockets.TcpClientとか使えばいいから。
269 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 10:22:24 ] 空気嫁
270 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 14:20:51 ] >>268 それじゃ全然オプションないだろ 使い物にならなくね? UNIXみたいに自由にできん
271 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 14:37:14 ] >>270 System.Net.Sockets.Socket クラス使えばOK
272 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 00:45:00 ] Winsockより自由に扱えるんだっけ? UNIX波に
273 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 04:10:50 ] 開発環境の違いにより同じアプリを作るにもコードの書き方が変わったりしますか? 数年前発売されたVisualStudio6.0を持っているのですが マイクロソフトから提供されているフリーの.NETをインストールするか悩んでいます。 .NET開発環境ではマウス操作だけで出来ることをVC6.0ではシコシココードを書かなければいけないというふうな 違いがあるのであればVC6.0で勉強するだけ無駄になりますし。
274 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 05:50:39 ] ここVB.NETのスレなんだが? とりあえず.NET以前のVBとVB.NETは別物と思った方がいいぐらい違う
275 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 05:54:08 ] VB6からVB 2005に移行しました。 今まで pos = Arrary( x, y) のような表記だったのをそのままビルドしようとすると >エラー 1 'Array' は型です。有効な式ではありません。 と前回ビルドに成功したものが実行されます。 左辺値は別アプリ(Photoshop)のオブジェクトライブラリのメンバで、As Variant, unit value(?)以外の詳細が分かりません。。 これを、 dim ops as Object ops = New Object(){x, y} pos = ops とやると、実行時に最後の行でCOMエラーが起きます。どのように修正すべきなのでしょうか・・・。 まだ切り替えたばかりで調べつつなので、書くべき情報が少なかったらすいません。必要あれば追記します。
276 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 10:02:47 ] >>272 MSDNくらい参照したら?
277 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 12:46:49 ] >>275 > 左辺値は別アプリ(Photoshop)のオブジェクトライブラリのメンバで、As Variant, unit value(?)以外の詳細が分かりません。。 じゃあ誰も分からん .NETでのCOMとの相互運用はVB6みたいな「よくわからないけどなんとなく使える」じゃ通じない
278 名前:275 mailto:sage [2009/09/15(火) 22:41:14 ] レス遅れました。 277さんありがとうございます。 COM自体あまり良く理解してないと思うので、大人しくこのツールはVB6現行のまま作ろうと思います。 Photoshopのスクリプティングガイド等にもそこまで詳しい情報は載ってませんでした。orz
279 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 22:52:52 ] COM参照できそうなもんだが つーか詳細が分かりませんって、スクリプティングガイドあるんだからちょっとは調べろー
280 名前:275 mailto:sage [2009/09/15(火) 23:20:15 ] すいません、もう一度じっくり読んだら型がDoubleと書いてあるのにLongで宣言してたのが原因でした・・・。 型宣言を書き換えたらエラー無し。 .NET以前の問題で申し訳ありません。。orz...
281 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 23:47:28 ] すみません、VB.netは超初心者なんですが。 将来的にMS ACCESSの制御をやることになりそうなので、練習ということで、 ソリューション エクスプローラの参照設定を右クリックして、 "Microsoft Access 10.0 Object Library"を登録して、そこまではうまく行ったんです。 そのあと、しばらく色々と遊んで、 そのあと、参照設定の参照ツリーから何かの拍子にAccessを削除して、もういちど登録したら、 黄色い三角に「!」の警告マークがでて、参照ができなくなってしまったんです。 過去にClick Onceのテスト用にビルド&発行してあった場所に、interop.access.dllというのが あったので、それをインポートしたら復旧したのですが、このDLLが自PCのどこを探しても ないのです。 いろいろググって、PIA support.microsoft.com/default.aspx?scid=kb;ja;328912 がタイプライブラリ(的なもの)の詰め合わせ、と思ってダウンロードしてインストールしたら、 名前が、 ×Access.Application ○Microsoft.Interop,Access.Application でないと呼び出せなくなってしまってたんですね。どうも不可解で、 「ああ、それはこの辺がクサいよ」というエスパーの方、おられませんでしょうか? 結局、修復インストールまでしたのですが、だめ。(上に書いたinterop.access.dllが必須) 念のため書いておくと、Accessの参照を登録してから、他にやった(かもしれない)こととして、 ・dotNetFx35setup.exe という最新版を落として入れた。 ・MicrosoftR WindowsR Software Development Kit for Windows ServerR 2008 and .NET Framework 3.5 というのを入れた というのがあります。 なにとぞご協力を。多少熟練した暁には、私も回答お手伝いしますので。
282 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 23:49:28 ] OS から再インストールしろよ
283 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 07:37:29 ] >>281 単に、以前は参照設定でMicrosoft.Interopが入っていただけじゃないのか?
284 名前:デフォルトの名無しさん [2009/09/17(木) 11:29:31 ] System.IO の Directory.Exists() や File.Exists() を実行すると、そのたびに メモリーを消費しているような感じなのですが問題はないのでしょうか? メモリー消費のチェックには、 www.forest.impress.co.jp/lib/sys/wincust/taskservice/prcsxplorer.html を使いました。これを起動して、該当するアプリケーションのプロセスを 右クリックして[Properties]→[Performance]タブで[I/O]欄内のOtherを モニターしてみると、上記メソッドを実行するたびに数バイトずつ増加していきます。 そのとき同時に同タブ内の[VirtualMemory][PhysicalMemory]の値も増加していました。 Directory.Exists() や File.Exists() の後ですぐに GC.Collect() を行なうと、 原則として[VirtualMemory][PhysicalMemory]の値は増加しないようでした。 しかし[I/O]欄内のOtherは増加していました。GCを使ったのはこれが初めてです。 これはいわゆる言うところのメモリーリークなのでしょうか、すみませんがご指導を お願いします。
285 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 11:33:31 ] 馬鹿?
286 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 11:35:54 ] web browserを作ったのですがweb browser.applicationから.exeにするにはどうしたらいいのでしょうか?
287 名前:284 [2009/09/17(木) 11:36:19 ] 関連するように思われたこの質問でも social.msdn.microsoft.com/Forums/ja-JP/vbgeneralja/thread/95c45070-46f7-4c77-8cfa-a6c011a4ab73 やはり Directory.Exists() が使われていました。もしかするとこれも関係して いるような気もしました。 何卒、よろしくお願いします。
288 名前:284 [2009/09/17(木) 11:42:35 ] >>284 >Directory.Exists() や File.Exists() の後ですぐに GC.Collect() を行なうと、 原則として[VirtualMemory][PhysicalMemory]の値は増加しないようでした。 しかし[I/O]欄内のOtherは増加していました この GC.Collect() を使った場合でも、それまでに GC.Collect() を使わないで 累積してしまった[VirtualMemory][PhysicalMemory]は減らないようでした。
289 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 11:46:04 ] 「気にしない」が正解
290 名前:284 [2009/09/17(木) 11:51:46 ] >>289 どうもです。一応、このメソッドを使ったときには、上記のように直後に GC.Collect()を実行しておくべきでしょうか?それとも不要でしょうか? 一応、先ほどの www.forest.impress.co.jp/lib/sys/wincust/taskservice/prcsxplorer.html を使って加速テストをやってみます。仮にそれで実質的なメモリー消費が 起きている場合には何か対策が必要になるでしょうか?
291 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 12:12:23 ] Fileのメソッドに限らず,メモリを割り当てないメソッドなんかほとんどないぞ? 何のためにGCがあると思ってるんだ
292 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 12:32:09 ] 一時的にせよ、意図しないメモリが増えるのが気に入らない人の選択肢: C++ (unsafe)
293 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 12:35:09 ] 一時的なオブジェクトはたいがいGen0の高速なGCで消えるから放置して問題ない FullGCしたら無駄に遅くなるだけ
294 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 13:01:38 ] 284「私は必ずメモリ消費は抑えるぞ。他の何を犠牲にしてもだ。 そのためなら処理速度だってくれてやる。OSが壊れたって構わない。 データの不整合? 頻発する強制終了? BIOSから進めない? 知ったことか。 私はメモリという1つの美しい空間が1の状態に励起されることが、 そのような乱暴な行いが、それらのすべてが許せないのだ!!!!」
295 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 02:02:51 ] 数バイト増えたからGC.Collect() 基地外かよ
296 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 02:13:32 ] 2ちゃんに書き込むパケットはどうすればいいの? POSTを使うのはわかるが、リファラとか構成がわかわん
297 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 04:37:15 ] VB.NETじゃないけどjaneのソース見れば分かるしググればいろいろ出てくるぞ
298 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 05:06:27 ] 2000*3000程度のjpgをPictureboxに入れてスクロールバーでスクロールさせてみるとものすごく処理が遅いのですが 何か高速化の方法があれば教えてください。 今のところ自分の試した方法は無駄な描画を減らすことですが、大した変化はありませんでした。 コードは以下のような具合です。 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.ClientSize = PictureBox1.BackgroundImage.Size Me.SetStyle(ControlStyles.ResizeRedraw, True) Me.SetStyle(ControlStyles.Opaque, True) End Sub Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs) MyBase.OnPaint(e) e.Graphics.DrawImage(PictureBox1.BackgroundImage, Me.ClientRectangle) End Sub また、下記のサイトでVB.NETのとっている画像処理方式が最悪であり、遅いといわれていることが分かりました。 www.nextftp.com/swlabo/m1_vbnet/hp_experiment/exp001.htm これってつまり、これ以上はどうしようもないということでしょうか。 このサイトにはなにやら方法が書いてあるようですが、書いてあるコードは宣言もしていない変数を当たり前のように使っているし理解不能でした。
299 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 08:03:08 ] そのページには、SetPixelが遅いと書かれているようにしか見えないのだが。 まあそれはともかく、クリッピング任せで毎回全部描画するのを止めれば良いんじゃないかな。 表示領域の範囲だけ転送するようにするだけでも大分マシになると思う。
300 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 08:59:12 ] >>296 …パケット?
301 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 11:05:33 ] rep2のソースを見ればいいと思う
302 名前:デフォルトの名無しさん [2009/09/18(金) 13:56:04 ] VB.NET 2008 で、MouseMove に Beep() だけを書き込んだ次のプログラムで Public Class Form1 Private Sub Form1_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove Beep() End Sub End Class マウスカーソルをフォームの上に置いて、移動しなくても 約1秒ごとにBeep() が実行されます。 つまり、移動しなくても MouseMove は定期的に呼ばれています。これは、仕様ですか? それとも環境が悪いのでしょうか。 Windows 7 Ult のほぼ素の状態で実行してます。
303 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 19:50:13 ] 家の環境は x64 Windows7 Pro だが、全く再現しないな。
304 名前:302 mailto:sage [2009/09/18(金) 20:09:13 ] >>303 ありがとう。 あのぉ すまん。 再起動したらならなくなった。 原因は不明だが、そんな仕様なわけないわな。 すれ汚しすまん。
305 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 01:23:49 ] VBというわけでもないのですが、数値データを使って 地図上に線を引きたいのですが、そういうことが出来る地図ソフトはあるでしょうか? 有料でも良いので知っていたら教えて
306 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 01:48:12 ] GoogleMap
307 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 09:46:15 ] >>305 vb全く関係ないな
308 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 10:34:55 ] VBで使えるコントロールってことじゃね?
309 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 13:03:55 ] ソフトって言ってるからただのスレチ
310 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 07:21:45 ] 出来合いのアプリケーションが欲しいって話なら寧ろイタチ
311 名前:デフォルトの名無しさん [2009/09/22(火) 15:36:35 ] VS2005のデザイナー上で、ボタンとかのコントロールを あるコンテナ上から別のコンテナ上にカット&ペーストで移動すると Handles句で書かれたハンドラーからHandles句が削除されたままになります。 これを回避するためには、ハンドラをAddhandlerで関連付けする以外にない でしょうか?
312 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 17:15:23 ] 削除されたHandles部分を書き直せばいいだけじゃないのか。 VSが自動で書いたコードと人が書いたコード、全く同じ文字列だった場合でも動作に違い生じるとでも?
313 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 17:27:49 ] まあ、アホみたいにイベント紐付けしてるとそれが面倒、ということでしょ。 >>311 そもそもカット&ペーストする必要があるの? VS2003まではコンテナの外に出すにはカット&ペーストしか方法がなかったような気がしたけど 2005以降はマウス操作でそれも可能になってるのに。 普通にマウスかキー操作で移動すればいいじゃん。
314 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 17:30:21 ] あとはあれかね、小手先のテクニックだけど カット&ペーストする前にイベントハンドラをコメントアウトしておく、とかかね。 普通同じコントロールのイベントハンドラはまとめてあるだろうから、 それならたいして手間はかからないんじゃないかな。