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


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

VB.NET質問スレ (Part10)



1 名前:最凶VB厨房 mailto:sage [05/02/26 00:00:13 ]
VB.NETの質問全般です

過去スレ
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

161 名前:デフォルトの名無しさん mailto:sage [05/03/07 15:29:37 ]
Refreshを挟めば?

162 名前:160 mailto:sage [05/03/07 17:27:32 ]
>>161
さんくす。
Me.Refreshであっさりできました。ウエイト前に置いても無問題。
Picturebox使ってて気がつかなかったのはお恥ずかしい限りです。

163 名前:デフォルトの名無しさん [05/03/07 18:33:37 ]
超初心者の質問で申しわけありませんが、
textboxで入力後、カーソルが自動的に次のtextboxへ移動するにはどうしたらいいですか?
VBAではautotabの機能があったのですが、VB.NETには無いようなので
どなたか教えていただけないでしょうか?

164 名前:デフォルトの名無しさん mailto:sage [05/03/07 19:12:20 ]
>>163
無いので、TextChangedイベント辺りで自分で処理。SelectNextControlメソッドとか。

165 名前:デフォルトの名無しさん mailto:sage [05/03/07 20:28:42 ]
作ったプログラムを他の人のPCで動かすときには
何をインストールすれば良いの?
Win2000です・・・

166 名前:デフォルトの名無しさん mailto:sage [05/03/07 20:33:19 ]
binフォルダの中にあるexeファイルと.Net Frameworks。

167 名前:デフォルトの名無しさん mailto:sage [05/03/07 20:45:17 ]
ツールバーのアイコンって、自分で作らないといけないんでしょうか?
VBや C++Builderには、アイコン集があった気がするのですが、.net には
見当たりません。
何か良いアイコン集があったら、教えてください。


168 名前:デフォルトの名無しさん mailto:sage [05/03/07 21:01:39 ]
>>167
VBやC++BuilderのインストールされてるPCから
ビットマップだけコピーすればいいじゃないか。

169 名前:デフォルトの名無しさん mailto:sage [05/03/07 21:19:01 ]
っていうか\Common7\Graphicsにあるでしょ
VS5の時代から進歩がないけど。。



170 名前:デフォルトの名無しさん mailto:sage [05/03/07 21:59:35 ]
>>168
ラ、ライセンスの問題が…。

>>169
スタンダード版には、入ってないようです。


171 名前:デフォルトの名無しさん mailto:sage [05/03/07 22:24:23 ]
CDの中も探した?

172 名前:デフォルトの名無しさん [05/03/08 01:00:43 ]
>167
VB.NET Power Packに結構いいの入ってたよ。
ライセンスはどうかわからんけど・・・

173 名前:デフォルトの名無しさん mailto:sage [05/03/08 02:46:00 ]
適当にフリーアイコン素材サイトからもってくる。
or
デザイナーの友達を作る。

174 名前:デフォルトの名無しさん mailto:sage [05/03/08 08:19:47 ]
VB.NETで作成したアプリケーションがメモリリークしていないか
調べたいのですがどのような方法がありますか?

175 名前:デフォルトの名無しさん mailto:sage [05/03/08 08:46:21 ]
>>174
パフォーマンスモニタ


176 名前:デフォルトの名無しさん [05/03/08 10:56:14 ]
vb.net compact frameworkにて
以下で定義してテーブルより、特定のレコードを削除する方法を教えてください。

'テーブル宣言
Public dataSet1 As New DataSet("テスト一覧")
Public dataTable1 As DataTable = dataSet1.Tables.Add("テストテーブル")
Public dataClumn1 As DataColumn = dataTable1.Columns.Add("番号")
Public dataClumn2 As DataColumn = dataTable1.Columns.Add("項目")
Public dataClumn3 As DataColumn = dataTable1.Columns.Add("得点")

'レコード追加
dataTable1.Rows.Add(New [Object]() {"0001", "国語", "100"})
dataTable1.Rows.Add(New [Object]() {"0002", "国語", "90"})
dataTable1.Rows.Add(New [Object]() {"0003", "国語", "80"})
dataTable1.Rows.Add(New [Object]() {"0004", "国語", "70"})
dataTable1.Rows.Add(New [Object]() {"0005", "国語", "60"})


177 名前:デフォルトの名無しさん mailto:sage [05/03/08 11:36:20 ]
>>176
dataviewで条件抽出してDeleteするもよし、datatableで行決め打ち
削除するもよし。

178 名前:デフォルトの名無しさん [05/03/08 12:08:30 ]
>>177
回答ありがとうです。

datatableで行決め打ち削除ってどうやればいいんですか?

179 名前:デフォルトの名無しさん mailto:sage [05/03/08 13:25:59 ]
>>178
DataTable.Rows(削除したい行Index).Delete()



180 名前:デフォルトの名無しさん mailto:sage [05/03/08 14:30:10 ]
Accessのグラフ画像をクリップボード経由で、FormにあるPictureBox
に貼り付けたいんですが、EnhancedMetafileから変換できないんです。

Dim iData As IDataObject = Clipboard.GetDataObject()
If iData.GetDataPresent(System.Windows.Forms.DataFormats.EnhancedMetafile) Then _
PictureBox1.Image = _
CType(iData.GetData(System.Windows.Forms.DataFormats.EnhancedMetafile), Image)
End If

ネットで探したこういうコードで実行すると、CTypeでNothingしか帰
ってきません。そのままワードパッドに貼り付けるとMicrosoft Graph
という形式だとプロパティで確認できました。

一度ファイルに落として、直接FromFileで表示しようとも思いましたが
CTypeが通らないのでSaveもできない状態です。

MemoryStreamを使った方法が下記にありましたが、同じくNothingが
帰ってきてどうにもこうにも。_| ̄|○

ttp://backno.mag2.com/reader/BackBody?id=200407270600000000104516000

181 名前:デフォルトの名無しさん [05/03/08 14:47:08 ]
>>179
ありがとうございましたー。
多謝 m(_ _)v

182 名前:デフォルトの名無しさん mailto:sage [05/03/08 15:45:14 ]
>>180
まずiData.GetFormatsと、それで取得できたそれぞれの形式に対してGetType(iData.GetData(形式名))をやってみては?

183 名前:デフォルトの名無しさん mailto:sage [05/03/08 17:21:53 ]
>>182
GetFormatsの結果、下記の3つが取得できました。

Embedded Object
Object Descriptor
MetaFilePict

こんなのImageやBitmapにできないよね。orz
調べてたらなんかヤバそうなネタも見つかったし。
ttp://support.microsoft.com/?id=323530

184 名前:デフォルトの名無しさん [05/03/08 19:13:45 ]
すいません、おしえていただきたいのですが。

時間計算なのですが 10:30〜13:00 を下記のようにしたのですが、

textbox1=10 (開始 時)
textbox2=30 (開始 分)

textbox3=13 (終了 時)
textbox4=00 (終了 分)

これを 働いた時間 2:30としてLabel1に表示したのですが

どういった計算方法ですればいいですか?

よろしくおねがいします。


185 名前:デフォルトの名無しさん mailto:sage [05/03/08 19:28:22 ]
>>184
ttp://www.atmarkit.co.jp/fdotnet/dotnettips/267timespan/timespan.html

186 名前:デフォルトの名無しさん mailto:sage [05/03/08 20:49:27 ]
VB.NETを勉強したいのですが、ACCESSしか知らない人に分かりやすい参考書ありませんか?

187 名前:デフォルトの名無しさん mailto:sage [05/03/08 23:25:20 ]
サービスアプリケーションってソケット通信可能ですか?

188 名前:デフォルトの名無しさん mailto:sage [05/03/09 01:04:58 ]
自分で試せよ。

189 名前:デフォルトの名無しさん mailto:sage [05/03/09 02:22:31 ]
>>187
当たり前だ



190 名前:デフォルトの名無しさん mailto:sage [05/03/09 02:43:55 ]
>>186
谷尻かおりさんのとか、イメージをつかむにはいいかも
Access本に比べてるとが悪いけど

191 名前:デフォルトの名無しさん mailto:sage [05/03/09 02:45:19 ]
×Access本に比べてるとが悪いけど
○Access本に比べると出来が悪いけど

192 名前:デフォルトの名無しさん mailto:sage [05/03/09 07:07:24 ]
>>191
そんな打ち間違えあるか。
脳みそ少なすぎ。

193 名前:デフォルトの名無しさん mailto:sage [05/03/09 09:07:22 ]
リストビューの各サブアイテムごとに文字の色を変更したいのですが
可能でしょうか?
もし、可能であればやり方を教えてください。よろしくお願いします。

194 名前:デフォルトの名無しさん mailto:sage [05/03/09 09:32:02 ]
ListViewSubItemのプロパティ一覧とその解説を良く読め。

195 名前:デフォルトの名無しさん mailto:sage [05/03/09 10:25:21 ]
Dim subItem As System.Windows.Forms.ListViewItem.ListViewSubItem
subItem = item.SubItems.Add("hoge")
subItem.ForeColor = Color.Red

とやってみたのですが色が変わってくれません。
なぜでしょうか?

196 名前:デフォルトの名無しさん mailto:sage [05/03/09 10:27:13 ]
解説を良く読めと。

197 名前:デフォルトの名無しさん mailto:sage [05/03/09 10:28:56 ]
item.UseItemStyleForSubItems = False
でできました。ご迷惑お掛けしました。


198 名前:デフォルトの名無しさん mailto:sage [05/03/09 10:57:10 ]
>>186
これで取り敢えず動くものを作ってみる。
www.amazon.co.jp/exec/obidos/ASIN/4774116955/
これでVB.NETの概要を掴む。
www.amazon.co.jp/exec/obidos/ASIN/4774121789/
辞書代わりにこれを使う。
www.amazon.co.jp/exec/obidos/ASIN/4891003170/

DB連携のシステムを勉強したいならこんな感じだと思う。

199 名前:デフォルトの名無しさん mailto:sage [05/03/09 13:27:20 ]
最近はじめたんだけど、VB.NETで作ったプログラムってMACでも動くの?
.NETフレームワークってMAC版も出てるのかな?



200 名前:デフォルトの名無しさん mailto:sage [05/03/09 13:29:05 ]
Mac OS Xならmonoが動くんじゃないか?

201 名前:デフォルトの名無しさん mailto:sage [05/03/09 13:31:46 ]
>>199
無理。
REALBASICで開発すれば、Windowsでも動く実行ファイルを生成
できるらしいけどね。

202 名前:201 mailto:sage [05/03/09 13:34:54 ]
おお、monoってのがあったんだね。知らなかったーよ。

ttp://www.macinbasic.info/modules.php?name=News&file=article&sid=553&mode=&order=0&thold=0

203 名前:199 mailto:sage [05/03/09 14:05:19 ]
なるほど、基本的には無理なんですね。
フリーソフト作ってるんだけど「MAC対応」って銘打つにはmonoではまだ厳しいのかな。

っていうか中間コード生成する最大の理由は「OSに依存しないで動く」っていうことじゃないの?
Windowsでしか動かないなら中間コードでコンパイルする価値があまりない気が・・・。
なぜなんでしょう?

204 名前:デフォルトの名無しさん mailto:sage [05/03/09 14:18:43 ]
ぶっちゃけ、Windowsにおける32bit環境から64bit環境へのスムーズな移行が
最大の目的じゃないかな。

205 名前:デフォルトの名無しさん mailto:sage [05/03/09 14:22:38 ]
>>203
>っていうか中間コード生成する最大の理由は「OSに依存しないで動く」っていうことじゃないの?
>Windowsでしか動かないなら中間コードでコンパイルする価値があまりない気が・・・。
>なぜなんでしょう?

1つは、やっぱり異なるOSで動かす事には無理があるんじゃない?
というのはWin32APIに相当する機能も.NetFrameworkには存在するわけだが、
こういった部分はOSに依存する訳だし。

ただ、中間コードのメリットがOSに依存しない事だけかと言われれば、
そんな事無いと思うんだが?

実際、C#だろうがVB.NETだろうが同じ処理するプログラムを書けば、
生成される中間コードは同じになる。
そして、C#からVB.NETのクラスを呼んだり逆にVB.NETからの呼び出しも出来る。

一般的に大規模アプリになれば複数人で開発する訳だが、
それぞれが得意な言語で開発しても問題無くお互いのクラスを呼び出せる。

これだけでも十分メリットになると思うんだが?

206 名前:デフォルトの名無しさん mailto:sage [05/03/09 15:06:00 ]
VB.NETでアプリケーションを作っているのですが
起動しただけで35メガもメモリを食います。
ひょっとしてすべてのウィンドウのインスタンス化を起動時に
やってしまうのでしょうか?
確かdelphiもそうだったと思うのですが、delphiは
その辺のコードもいじれたのですがVB.NETはそのあたりの
コードはどこにあるのでしょうか?



207 名前:デフォルトの名無しさん mailto:sage [05/03/09 15:13:41 ]
そんなことはない。
ネイティブのコードへのコンパイルすら「初めてそのメソッドが出てきた時」に行われるのに。
起動時にメモリを食われるのは.NET Frameworkを通して起動させるためのコスト。
起動した後は不要になるので、気になるならウィンドウを一旦最小化させれば仮想メモリにしまい込まれる。
根本的にネイティブのアプリより消費メモリが大きめなのはしょうがないがね。

208 名前:デフォルトの名無しさん mailto:sage [05/03/09 15:18:44 ]
>>207
了解です。
ちょっと起動に時間が掛かるなと思いタスクマネージャを見たら
30メガも使ってるのでびっくりしたしだいです。
それが普通ならまったく問題ありません。

209 名前:デフォルトの名無しさん mailto:sage [05/03/09 16:11:19 ]
リストビューのカラムごとにTextAlignを指定したいのですが
指定するメソッドが見つかりません。
これは不可能でしょうか?



210 名前:デフォルトの名無しさん mailto:sage [05/03/09 16:18:27 ]
ColumnHeader.TextAlign
ただし先頭列だけは必ず左寄せ。

211 名前:デフォルトの名無しさん mailto:sage [05/03/09 16:22:26 ]
listview.Columns(2).TextAlign = HorizontalAlignment.Right
listview.Columns(3).TextAlign = HorizontalAlignment.Right
でできました。さんくす。


212 名前:デフォルトの名無しさん mailto:sage [05/03/09 16:58:55 ]
>>203
「開発環境(言語)の差を吸収出来る」ことと
「安全なコードを書ける可能性が高い」こと、これらから
「開発生産性が高い」ことがメリットだと思うよ。

例えばJAVAのWORAというのは嘘とは言い切れないけど
未だに盲信してる人は少ないよね。
MSは良くも悪くもリアリストだから、「どこでも動く」ことより
「どこからでも繋がる」ことを .NET の宣伝材料にしてる。

213 名前:デフォルトの名無しさん [05/03/09 19:52:20 ]
compact frameworkにて、設定ファイルを使用したい場合、
どのようにファイルを作って、どのように読み込めばいいのでしょうか?

質問が大雑把ですみません。とっかかりすらわかっていない状態ですので。

214 名前:デフォルトの名無しさん mailto:sage [05/03/09 22:28:54 ]
設定ファイルとやらを使って何をしたいのかによるけど。
App.configなら
ttp://dobon.net/vb/dotnet/programing/appconfigfile.html

215 名前:デフォルトの名無しさん mailto:sage [05/03/09 22:43:04 ]
VB.NETでWSDLがない状態でSoap通信したいんですけど
Soap ToolkitにあったSoapConnectorにあたるクラスってないんでしょうか?

216 名前:デフォルトの名無しさん mailto:sage [05/03/10 08:31:10 ]
デストラクタってどうやって定義すればよいでしょうか?
コンストラクタは
public sub new()
end sub
でよいみたいですが

217 名前:デフォルトの名無しさん mailto:sage [05/03/10 08:38:44 ]
Overrides Protected Sub Finalize()

218 名前:デフォルトの名無しさん mailto:sage [05/03/10 08:49:38 ]
>>217
ありがとん

219 名前:デフォルトの名無しさん mailto:sage [05/03/10 11:01:20 ]
EXCELを操作しているのですが
アプリケーションを終了するまでEXCEL.EXEがタスクマネージャの
プロセス一覧から消えてくれません。
消すにはどうしたらよいでしょうか?

Dim exl As New Excel.Application()
exl.Visible = True
exl.Workbooks.Add()

exl.Cells(1, 1) = "hoge"




220 名前:デフォルトの名無しさん mailto:sage [05/03/10 11:15:10 ]
Quitも呼んでない辺りアレっぽいが。
ttp://support.microsoft.com/default.aspx?scid=kb;ja;317109

221 名前:デフォルトの名無しさん mailto:sage [05/03/10 11:23:19 ]
>>220
さんくす。熟読します。

222 名前:デフォルトの名無しさん mailto:sage [05/03/10 11:33:57 ]
消えました。ありがとん。

223 名前:デフォルトの名無しさん mailto:sage [05/03/10 14:19:06 ]
Private m_Pos() As Point
Private m_Pos As Point()
の違いはなんでしょうか?

224 名前:デフォルトの名無しさん mailto:sage [05/03/10 16:03:14 ]
GCってちゃんと仕事してくれますか?
なんか不安。メモリ使用量がどんどん増えるよー

225 名前:デフォルトの名無しさん mailto:sage [05/03/10 16:10:34 ]
>>224
メモリは特に気にする必要ない。

226 名前:デフォルトの名無しさん mailto:sage [05/03/10 16:18:13 ]
>>225
そうなんですかー
なんかC房だから気になって仕方ないよー

227 名前:デフォルトの名無しさん [05/03/10 16:38:58 ]
Form1からForm2をShowDialogで表示し、Form2からForm3をShowDialogでまたまた表示する。
タイマーイベントで規定時間後に、自動でForm2とForm3を閉じてForm1を表示するようにしたい場合、どのようにすればいいですか?
今、Form1のタイマーイベントで
Form3.close()
Form2.close()
ってやるとForm3は閉じるけどForm2は閉じてくれません。
だれかわかりますか?

228 名前:デフォルトの名無しさん mailto:sage [05/03/10 17:33:27 ]
ピクチャーボックス上の
線などを消去するには?

229 名前:デフォルトの名無しさん mailto:sage [05/03/10 19:47:14 ]
>>223
基本的に無い。好み。
個人的には配列型を宣言してると分かりやすい後者の方が良い。

>>227
私の所では閉じる。

>>228
何らかで上書きする。



230 名前:デフォルトの名無しさん mailto:sage [05/03/10 21:02:53 ]
簡単なテキストエディタを作っています。カレットが移動するたびに、その位置を
ステータスバーに表示したいと考えています。で、一番最初に思いついたのが、
KeyDown/Upイベントを利用することです。しかしながら、IMEがオンになって
いると、KeyDown/Upイベントが発生するたびに変換が解かれてしまい、実用に
なりません。なにかいい方法はないでしょうか。

231 名前:デフォルトの名無しさん mailto:sage [05/03/11 00:13:11 ]
MDI子フォームのKeyDownイベントでファンクションキーが
押された場合の処理を書いているのですが、このイベントが
親フォームにも送られているらしく、F1キーを押すと
ヘルプが起動してしまいます。
ファンクションキーイベントは子フォームだけで受け取り
(子フォームがアクティブの場合)
親フォームには送られないようにするにはどうしたらよいでしょうか。
e.Handle=True
は試してみたのですが、ダメでした。

232 名前:デフォルトの名無しさん mailto:sage [05/03/11 00:28:57 ]
メニューのイベントでヘルプ表示してるんでしょ?

だったら自分がアクティブじゃなかったら
ヘルプ表示しないようにするだけだと思うんだけど。。
何か間違ってるか?

233 名前:デフォルトの名無しさん [05/03/11 00:33:11 ]
ウケる。要求仕様と違うとはまさにこのことか。

234 名前:デフォルトの名無しさん mailto:sage [05/03/11 00:34:05 ]
>>232 「自分」って誰?(バク

235 名前:デフォルトの名無しさん mailto:sage [05/03/11 00:38:42 ]
>>232
それって親フォームにキーイベント飛んでるじゃん。
e.Handle = True
じゃムリなの?

236 名前:デフォルトの名無しさん mailto:sage [05/03/11 00:42:25 ]
馬鹿な上に幼稚なVB厨どもはしょうがないですな。

別にウィンドウメッセージそのものをキャンセルする必要なんて全然ない。
要はそれを処理するべき場合かどうかを判断できれば必要十分だろといってるの。

237 名前:デフォルトの名無しさん [05/03/11 00:48:27 ]
>>236
必要かどうかの問題ではなく、231がやりたいのはメッセージを
キャンセルしたいのだろう。別に君がその方法を知らないなら
ムリに書き込む必要ないんじゃないの?何がしたいの?

238 名前:234 mailto:sage [05/03/11 00:49:18 ]
どうでもいいけど「自分」って誰?(ププッ

239 名前:デフォルトの名無しさん mailto:sage [05/03/11 00:52:02 ]
>>237
そういうSEは最近多いよ。勝手に要求仕様を捻じ曲げて
得意げな大馬鹿



240 名前:デフォルトの名無しさん mailto:sage [05/03/11 00:54:28 ]
>>231ですが、メイン画面(親フォーム)は別の外注の会社が
作っていて、私が作っているフォームでファンクションキーを
処理する都合でメイン画面に修正が入るのはあまり
好ましくないのでメッセージをキャンセルする方法があるのならば
それがやりたいです。分かりにくくてすいません。

241 名前:デフォルトの名無しさん [05/03/11 01:28:29 ]
VBで、ある業務システムつくろうと思ったけど。
スタックが心配で見合わせてる。


242 名前:デフォルトの名無しさん mailto:sage [05/03/11 01:29:27 ]
で?

243 名前:デフォルトの名無しさん [05/03/11 01:34:56 ]
どうしたものかな。
VB6では、スタック領域を設定することできないんだよ。
NETは、どうなの。


244 名前:デフォルトの名無しさん mailto:sage [05/03/11 01:40:41 ]
質問です。
IEで表示した内容を印刷ダイアログを表示せずに
プログラムから印刷する方法を教えてください。

245 名前:最凶VB厨房 mailto:sage [05/03/11 01:42:20 ]
>>231
もしかして親フォームのKeyPreviewプロパティはTrue??

246 名前:デフォルトの名無しさん mailto:sage [05/03/11 01:45:52 ]
アホか。
要求仕様は、「子フォームがアクティブの時には親フォームのヘルプを表示しないようにしたい」
メッセージをキャンセルするってのはその一手段に過ぎない。

>>240
やっぱり無理なんじゃないか。
というのは、別に子が親にメッセージ送ってるわけじゃないのだから。
いま実際WndProcでメッセージ拾うコード書いて確認したので間違いないと思う。

247 名前:デフォルトの名無しさん mailto:sage [05/03/11 02:01:28 ]
WndProcをオーバーライド。
該当するキーの場合、基底クラスのWndProcを呼ばない。
あるいはProcessCmdKeyをオーバーライド。
該当するキーの場合、trueを返す。

248 名前:デフォルトの名無しさん mailto:sage [05/03/11 07:13:39 ]
>>246
>>240

アホ

249 名前:デフォルトの名無しさん mailto:sage [05/03/11 07:15:36 ]
>>246
>いま実際WndProcでメッセージ拾うコード書いて確認したので間違いないと思う。
間違ってるじゃんw

お前、マジでもういいよ



250 名前:デフォルトの名無しさん mailto:sage [05/03/11 08:35:18 ]
タスクバーを除いたデスクトップのサイズを取得したいのですが
どのようにすればよいでしょうか?

251 名前:250 mailto:sage [05/03/11 10:40:54 ]
すみません。わかりました。

252 名前:デフォルトの名無しさん mailto:sage [05/03/11 12:26:42 ]
>>249
幼稚な奴。
実際に自分でやってみてから言ってるか?
っていうか、「本当はWndProcなんてわかんない」に五万両。

253 名前:デフォルトの名無しさん mailto:sage [05/03/11 19:48:58 ]
このスレの大半はアホなのはわかっている。

254 名前:最凶VB厨房 mailto:sage [05/03/11 22:50:51 ]
ドアホがスレ立ててんだからしょうがねぇってこった。

255 名前:デフォルトの名無しさん mailto:sage [05/03/11 23:07:27 ]
アホは自分がアホだと認識した時点でアホではなくなる。

256 名前:デフォルトの名無しさん mailto:sage [05/03/12 00:35:42 ]
>>252
>>246が間違っていることを確認し、問題を解決できました。
回答くださった方(>>246の人は除き)、どうもありがとうございました。

257 名前:デフォルトの名無しさん [05/03/12 23:09:18 ]
どなたか教えてください。

datagridのDataGridTableStyleでFormatを設定する部分があると思うのですが、
番号を01,02,03・・・という感じでしたいので 00 と入れたのですがちゃんと表示されず、
1,2、・・とでてしまいます。
どの部分がおかしいのでしょうか?

258 名前:デフォルトの名無しさん mailto:sage [05/03/12 23:13:34 ]
Dim str As String : Dim time As Integer : Dim ch As ListView.CheckedListViewItemCollection
ListView1.View = View.Details : ListView1.CheckBoxes = True : ListView1.Columns.Add("test", 100, HorizontalAlignment.Left)
''' テストデータセット 偶数にチェック
For ii As Integer = 0 To 5000
ListView1.Items.Add(CStr(ii)) : If (ii Mod 2) = 0 Then ListView1.Items(ii).Checked = True
Next ii
''' チェックデータ取得 @〜B のどれが一番早い??
time = Environment.TickCount() ''''@
Dim txt1 As New System.Text.StringBuilder
For ii As Integer = 0 To ListView1.Items.Count - 1
If ListView1.Items(ii).Checked Then str = ListView1.Items(ii).Text
Next ii
Console.WriteLine(Environment.TickCount() - time)
time = Environment.TickCount() ''''A
ch = ListView1.CheckedItems
For ii As Integer = 0 To ch.Count - 1
str = ch.Item(ii).Text
Next ii
Console.WriteLine(Environment.TickCount() - time)
time = Environment.TickCount() ''''B
ch = ListView1.CheckedItems
For Each item As ListViewItem In ch
str = item.Text
Next
Console.WriteLine(Environment.TickCount() - time)


259 名前:258 mailto:sage [05/03/12 23:14:09 ]
上記サンプルの、ListViewコントロールについて質問です。
Details モードで、チェックボックスを付けた状態で、チェックされた行を
取得する方法なのですが、以前より何故こんなに遅いのかと疑問に感じていました。
が、どうやらコーディング次第でものすごく差があるようです。
私は、A<B<@となると思っていたのですが、現実は、@<B<<<<Aになりました。
何故このような結果が出るかどうしても説明出来ません。
誰か偉い人教えてください。



260 名前:デフォルトの名無しさん mailto:sage [05/03/12 23:20:00 ]
>>257
DataGirdTextBoxColumnのFormatプロパティだな。
該当するDataColumnのDataTypeがString型になってるんだろう。

261 名前:デフォルトの名無しさん mailto:sage [05/03/13 00:40:04 ]
>>259
面白そうなのでちょっとILDASMで見てみた。

(2)の最大のボトルネックはCountプロパティの取得部分であるのは動作を見れば一目瞭然。
では内部でどんな作業をしてるのかというと、
1.オーナーであるListViewのCheckedIndicesを取得して、そのCountプロパティを返す。
2.CheckedIndices.Countは、内部ではオーナーであるListViewのItemsプロパティを取得し、
 それをFor Eachで回して一つ一つCheckedプロパティを確認し、インクリメントして計測する。
という遠大な事をやっている。
For ... To で毎回Countプロパティを取得してればそりゃ死ねる。
Forの前に一度Countを別変数に取り出すだけで劇的に改善され、(3)にほぼ並ぶ。

さて、(2)と(3)の違いだが。
(2)は毎回Item(Integer)を呼んでいる。この動作の遷移は、
1.ListViewのCheckedIndicesを取得、CheckedIndices.Itemを呼ぶ
2.CheckedIndices.Itemは内部でListView.ItemsをForで回し、Index回目で見つかったCheckedのインデックスを返す
3.返されたインデックスのアイテムをListView.Itemsから取得し、それを返す
という流れだ。分かりにくいなんて意見はスルー。

(3)、For Eachは内部でGetEnumeratorが呼ばれ、それで返されるIEnumeratorのCurrentプロパティ・MoveNextメソッドで列挙動作が行われる。
ではGetEnumeratorはどうなってるかというと、
1.CheckedListViewItemCollection.Countを取得し、その数でListViewItem配列を作成する
2.ListViewのItemsをForで回し、Checkedかどうか確かめてCheckedなアイテムを順に配列に格納する
3.配列のGetEnumeratorを返す
って流れになる。
配列のGetEnumeratorは、MoveNextが呼ばれるごとにインデックスをインクリメントして、Currentで現在のインデックスのアイテムを返すってだけの簡単な処理。

(3)はCheckedListViewItemCollection.Countを取得してる以外にコストがかかる処理はなさそうだ。それが大きいけど。
(2)は2.の所だな。指すインデックスが後ろになればなるほどコストがかかるようになる。
その上ch.Item(ii)がループ回数呼ばれてる訳で、その回数分のListView.Itemsのループが発生してしまうと。

こんな動作を知ってしまった後では、でかいビューでCheckedItemsを使うのは躊躇しちゃうね。






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

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

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