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
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を使うのは躊躇しちゃうね。
262 名前:258 mailto:sage [05/03/13 12:06:00 ] >>261 ホントにありがとうございます。 非常に分かり易い神な回答が返って来るとは思いませんでした。 ヘッポコ同僚が(1)でコーディングを行っていて、カコ悪いなーと思っていましたが それが一番コストが掛からないなんて・・・orz
263 名前:デフォルトの名無しさん mailto:sage [05/03/13 13:17:14 ] 配列の概念がよくわかりません
264 名前:デフォルトの名無しさん mailto:sage [05/03/13 13:18:37 ] そうか頑張れ。
265 名前:デフォルトの名無しさん mailto:sage [05/03/13 14:43:45 ] >>264 なんだそれ
266 名前:デフォルトの名無しさん mailto:sage [05/03/14 12:24:47 ] LinkLabelをクリックした時に左右どちらのボタンでクリックしたか調べるには どうすればいいですか? LinkClickedのイベントプロシージャ内で判定させたいのですが。
267 名前:デフォルトの名無しさん mailto:sage [05/03/14 12:40:47 ] >>266 MouseDownで保存しとくとか。
268 名前:デフォルトの名無しさん mailto:sage [05/03/14 12:59:19 ] Excelでレポートを出力するアプリケーションを作っています。 一旦Excelに書き込んで保存して終了して その書き込んだExcelファイルを開くという処理をしているのですが System.Diagnostics.Process.Startをしたときに前のExcelの プロセスが残っているためかExcelのメニューだけ表示された状態で とまってしまいます。 GC.WaitForPendingFinalizers() がないと100%そうなるのですが、これがあると うまくいくときもあります。何か回避方法がありますでしょうか? oBook.Close(False) NAR(oBook) NAR(oBooks) oApp.Quit() NAR(oApp) GC.Collect() GC.WaitForPendingFinalizers() System.Diagnostics.Process.Start("hoge.xls")
269 名前:デフォルトの名無しさん mailto:sage [05/03/14 13:08:04 ] FlexGridの新しい奴がExcel直接操作できる
270 名前:268 mailto:sage [05/03/14 13:38:21 ] すみません。お騒がせしました。 データを書き込んでいるところを関数にしたら直りました。 データを持っているオブジェクトが解放されなかったためのようです。
271 名前:デフォルトの名無しさん mailto:sage [05/03/14 14:33:51 ] リストビューでカラムヘッダーをクリックしたら そのカラムでソートしたいのですがどのようにしたらよいでしょうか?
272 名前:デフォルトの名無しさん mailto:sage [05/03/14 15:55:47 ] >>271 ttp://dobon.net/vb/dotnet/control/lvitemsort.html
273 名前:デフォルトの名無しさん mailto:sage [05/03/14 16:03:41 ] >>272 ありがとん。 できました。
274 名前:デフォルトの名無しさん [05/03/14 18:42:38 ] -------------------------------------------------- Java -------------------------------------------------- public class Foo { public static void main(String[] args) { new Foo(); } public Foo() { } } と同等なコードをVB.NETで書きたいのですが、 New Foo()と書くと構文が違うと怒られるんですが、 こういう書き方はできないのでしょうか?
275 名前:デフォルトの名無しさん mailto:sage [05/03/14 18:48:24 ] >>274 VB.NETの構文を勉強してください。
276 名前:デフォルトの名無しさん mailto:sage [05/03/14 18:49:32 ] Java'erならC#使った方が良くね?
277 名前:デフォルトの名無しさん [05/03/14 18:50:00 ] >>275 嫌なんで、教えてください。
278 名前:デフォルトの名無しさん mailto:sage [05/03/14 18:51:22 ] わかった、ちょっと待ってな・・・