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


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

VB.NET質問スレ(Part31)



1 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 17:44:56 ]
前スレ

VB.NET質問スレ(Part30)
pc12.2ch.net/test/read.cgi/tech/1242522019/l50

テンプレは>>2

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 ]
あとはあれかね、小手先のテクニックだけど
カット&ペーストする前にイベントハンドラをコメントアウトしておく、とかかね。

普通同じコントロールのイベントハンドラはまとめてあるだろうから、
それならたいして手間はかからないんじゃないかな。

315 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 18:36:54 ]
つか、どーなって欲しいのかが判らん。
まさかハンドラを別フォームに置きたいとか、そういうトンデモなことをしたいのか?

316 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 20:50:46 ]
>>315
それはさすがにお前さんの側の問題だと思うよ。
別に>>311はそう変なことは言ってない。

317 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 22:27:25 ]
デザイナでコントロール選択してイベントのドロップダウンボックスで選び直したら

318 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 17:38:56 ]
質問です。
フォームを開いてるときにフォームの外(スタートとか)の操作をさせない方法ありますか?
タスクに表示させないのは出来るんですけど、スタートボタンの禁止ができません。
今作ってるのは、ユーザーを選択して起動したあと、パスワードを入れて正確じゃないと他の操作に進めないっていう奴です。
私はアドミニストレータじゃないので、ユーザーのパスワードだけだとアドミニストレータにばれてしまうんです。

319 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 17:54:59 ]
>>318
日本語でおk

320 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 17:56:21 ]
ありません。

そういうのは、普通 GINA で作ります(XP までは)。

321 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 17:56:58 ]
>>319 同意



322 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 18:03:26 ]
>>319
すいません。
プログラムを操作中に、プログラムの操作(ボタンをクリックするとか)以外をしないように出来ますか?という事です。
やっぱりできないですかね?

323 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 18:16:47 ]
>>322
一番簡単なのは、昔のインストーラーでよく使われてた、
タイトルバーがないウィンドウを最大化してしまう方法かね。

もちろんこれではウィンドウズキーまでは抑止できないけど。

システムモーダルなんて方法もあった気もするけど、ドトネトのWinフォームは
システムモーダルに対応してなかったはず。

というか、そもそも普通はそんなアホな仕様のプログラムはありえないと思う。
本当にそんなアホな仕様が必要なのかね。
9割り方君がそう思い込んでるだけだと思うよ。

324 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 18:21:38 ]
>>323
どうしてもアドミニストレータが入ってくるのを抑えたくて、その方法がこれしか思いつかなかったんです。
やっぱ最大化しかないですかね。ウィンドウズキーがありますからね…
ありがとうございます。

325 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 18:24:12 ]
Administrator うんぬんはまた別の話だろ。
何をやりたいのか、まったく理解できないけど。

326 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 18:31:11 ]
>>325
アドミニストレータは制限付ユーザーのパスワードが分かってしまうので、ばれないようにしたかったんです。
でも無理みたいですよね。ありがとうございました。

327 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 18:34:47 ]
そりゃ、クラックすればわかるし、パスワード変更はできるけど、
VB とはまったく関係ない話。

328 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 18:45:17 ]
プログラム実行中はできなくしたとしても、プログラム終了させたらできちゃうから意味なくね?

329 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 18:55:04 ]
>>327
ごめん、なんでそんな仕様にするの?って聞かれたから理由を言ったんだ

>>328
パスワード入力して正しくない場合は、×押したときに強制的にキャンセル

330 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 18:56:59 ]
だから GINA で作れって言ってんだろハゲ

331 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 19:02:15 ]
なんでそんな仕様にするの?って聞かれたから理由を言ったんだ。キリッ

じゃねーよw



332 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 19:15:52 ]
システム部を持たない会社が「おい、おまえパソコン詳しいよな」みたいなノリで
社員に社内向けツールを作らせようとするとそんな要求仕様になりやすいな(経験者談)

333 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 19:20:12 ]
まあ、率直にいってそういうことがしたいなら、
今はUSBドングル使ってシステムをロックする製品なんてのもあるみたいだから
そういうのを使った方が確実だろうね。

それ以前に、まあ普通は隠蔽したいものは何らかのデータなんだろうから、
そういうことなら暗号化すりゃいいだけだね。

しかし、そんな信頼できない奴がシステム管理者ってのがそもそも間違ってる気もしますが。

334 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 20:39:25 ]
>>330
ごめんそっち勉強するよ。
>>331
いやそんなつもりはw
とりあえずできないのはわかったんでやめます。
ありがとうございました。

335 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 21:34:44 ]
すいません 教えてください
マウスの移動で線を描画したいのですが pictureboxでdrawlineで書いていますが 太さを1以上にすると
汚い描画になります、VB6のときはこんなことはなかったのですが、どなたか教えてください

336 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 21:36:30 ]
Graphics のプロパティをいろいろ調べてみれ。

337 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 22:57:22 ]
>>336
SmoothingMode はいくつか試しましたが、だめでした。
太さを大きめにすると目立ちます

なぜだろう? もっと違うところ?

338 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 23:59:51 ]
これ見てダメならあきらめろ。

dobon.net/vb/dotnet/graphics/antialias.html

339 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 00:07:04 ]
>>338
いっちゃ悪いけどそういうトンマな回答もどうかね。
「VB6のときはこんなことではなかった」と言っているから、
そういう問題ではないはずだ。

>>335
「汚い描画」なんていう抽象的な表現では誰にも問題が正確に伝わらない。

こういう場合は(というよりほとんどの場合そうあるべきだが)くどいぐらいに
具体的に君の問題を表現しなきゃダメだよ。

340 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 00:13:13 ]
>>339
わからないならレスしないでください。

341 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 00:34:38 ]
御託はいいからコードを出せ、ってことだな。



342 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 00:36:18 ]
まず問題あるっていうコードを出すのがスジだな。

343 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 03:04:53 ]
汚い描画してるからじゃね?

344 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 07:08:26 ]
>341
Private Sub PictureBox1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseMove
'position
Dim POS_X As Integer
Dim POS_Y As Integer

Dim g As Graphics
g = PictureBox1.CreateGraphics()

' Create a new Pen object.
Dim Pen As New Pen(Color.Green)

' Set the width to 10.
greenPen.Width = 10

If e.Button = Windows.Forms.MouseButtons.Left Then
g.DrawLine(Pen, POS_X, POS_Y, e.X, e.Y)
End If

POS_X = e.X
POS_Y = e.Y

' Dispose of the custom pen.
Pen.Dispose()
End Sub

345 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 07:10:04 ]
>344 一部ミス

Public Class Form1

Private Sub PictureBox1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseMove
'position
Dim POS_X As Integer
Dim POS_Y As Integer

Dim g As Graphics
g = PictureBox1.CreateGraphics()

' Create a new Pen object.
Dim Pen As New Pen(Color.Green)

' Set the width to 10.
Pen.Width = 10

If e.Button = Windows.Forms.MouseButtons.Left Then
g.DrawLine(Pen, POS_X, POS_Y, e.X, e.Y)
End If

POS_X = e.X
POS_Y = e.Y

' Dispose of the custom pen.
Pen.Dispose()
End Sub
End Class

346 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 09:50:06 ]
ボリューム・シャドウ・コピーをVB.NETで行うには
どうやったらいいでしょうか?

347 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 17:58:49 ]
Dim threads(n) As Threading.Thread
threads(0) = New Threading.Thread(AddressOf Foo)
threads(1) = New Threading.Thread(AddressOf Hoge)
・・・
For Each thread As Threading.Thread In threads
  thread.IsBackground = True
  thread.Start()
Next

でスレッドを作っています。
この後どれかのスレッドが終了するまで待って、その後全てのスレッドを終了させるにはどうしたらいいでしょうか?
(WIN32APIでいうところのWaitForMultipleObjectです)

348 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 01:22:31 ]
TrackBarコントロールでマウスをクリックしたときに、
その座標が目盛りのいくつなのかを取得したいのですが、
方法を御存知の方、いらっしゃいましたら教えてください。

349 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 03:07:38 ]
スレッド自体からはWaitHandle取れないみたいだから、
ManualResetEvent1個用意しといて
各スレッドは終了時にSet
かつ随時タイムアウトなしでWaitしてSetされてたら終了
呼び出し側は単にWait
でいいんじゃね?
まあ効率を気にするなら各スレッドでのチェックのために
終了フラグ一個追加した方がいいかも知れんが。


350 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 03:08:28 ]
>かつ随時タイムアウトなしでWaitしてSetされてたら終了
タイムアウトなしじゃなくて0指定の間違い。


351 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 11:03:31 ]
オレはそんなに沢山のスレッドを作って何がしたいのかが知りたい



352 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 12:33:25 ]
そんな面倒なことしなくてもベタにやるだけだと思うけど・・・

全スレッドを終了するメソッドを用意して、各スレッド内の処理の最後で
それを呼び出すようにするだけじゃん。
悩むような問題かね。

353 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 15:31:50 ]
MSChartでY軸を右側にしたいのでYAxisTypeをSecondaryに設定すると
AxisY2.MinimumとMaximumは自動でセットされないんだね。
Primaryなら自動でセットされるのに。
これって仕様?
なんか理由があるんだろうか?

354 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 16:02:16 ]
>全スレッドを終了するメソッドを用意して、各スレッド内の処理の最後で
>それを呼び出すようにするだけじゃん。

そのコード書いてみな。
絶対問題ありのコードになるから。


355 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 16:26:19 ]
>>354
そりゃトンマなお前さんが書けばそうなるんじゃないの。

俺に言わせりゃ、こんなので問題起こす奴の方がオカシイと言わざるを得ない程度の、
超初歩的な内容だと思うけど。

356 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 16:28:52 ]
>>353
事故レスだけど
IsStartedFromZeroの設定でした^^;

357 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 16:30:29 ]
>>355
だから書いてみてよ。
全部のスレッドを終了するメソッドを問題ないように書いてみなよ。


358 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 16:39:46 ]
>>357
逆にチミが「問題」が発生するコードを書いてみれば?w

俺は馬鹿に説明するためにそれなりに長くならざるをえないサンプルコードを
書くなんてまっぴら御免だけど、ダメなコードのどこがダメでどう直せばいいかを
解説するぐらいの手間は払うよ。

359 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 16:44:20 ]
あーつまり書けないのか?かけるんなら書けよ。
超初心者でも間違う方がおかしいコードなんだろ。
すぐ書けるだろ。
俺は>>349辺りでどうかなって書いたんだからさ。

まあ絶対書かないよな、お前そういう奴だよ。
>俺に言わせりゃ、こんなので問題起こす奴の方がオカシイと言わざるを得ない程度の、
>超初歩的な内容だと思うけど。
いきなりこういう反応をするやつで、自分からまともに何かを示すやつを見たことがない。

何を言ってもはぐらかすだけで、自分からは絶対に書かないんだよ、


360 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 16:46:53 ]
単純に字義通りに取った場合、最初のスレッドの処理が終わったら
他のスレッドの処理が途中であっても終了するということになる。
それを指摘してるんだろ。

361 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 16:49:00 ]
>>359
俺は「かけるんなら書くべき」なんていう妙な価値観を持ってない。

もちろん君がそういう価値観を持つのは勝手ではあるが、
その価値観を他人に振りかざして無理強いする前に、君自身が自分の価値観を
実践したらどうなのか。



362 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 16:50:28 ]
>>360
誰に向かって何が言いたいの?

363 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 16:55:40 ]
>>358
クソワロタ
どんなコードをイメージして簡単だと言ったのかなんて>>358以外分からん







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

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

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