1 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 18:07:34 ] 前スレ VB.NET質問スレ(Part25) pc11.2ch.net/test/read.cgi/tech/1203650042/ テンプレは2〜5くらいまでの間にある予定
237 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 19:53:41 ] >>222 ですけど Aがクラスではなく、DataTableの場合、 複数のスレッドからSelectで取得して操作するのは危険でしょうか? 原則datatableの1行とスレッド1つが対応付き、異なるスレッドから同一行へのアクセスはないものとします。
238 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 19:54:40 ] じゃあ行を選択不可ってのがどういうのを指すのか詳しく
239 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 19:57:11 ] >>237 > この型は、マルチスレッド読み取り操作に対して安全です。 > すべての書き込み操作の同期をとる必要があります。 スレッドを使ったとき何が問題になるのか勉強してきたら?
240 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 20:28:50 ] >>239 ありがとうございます。 そう思って探してはみてるんですけど、なかなか分かり易いサイトが見つからないです。 どこかお勧めはありますか?
241 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 00:15:14 ] >>238 「行、列、セルの選択不可」の方が適切でした
242 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 11:13:27 ] CSVファイルの行数を取得する方法をご教授いただければ幸いです。
243 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 11:19:41 ] 「~~~~~/testtest*/hogehoge」という単語を読み込むと、 ~~~~~ testtest* hogehoge ↑のように自動で"/"で改行させたいのですがどのようなコードを使えばいいのでしょうか? 宜しくお願いします。
244 名前:デフォルトの名無しさん [2008/06/23(月) 11:27:25 ] >>243 「Replace」と「vbCrLf」
245 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 14:19:06 ] WebBrowser1.Document.Images が指している画像を保存したいのですが、どの用にすればよいのでしょうか? VS2005/2008を使っています。
246 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 15:11:41 ] >>245 url属性見てWin32APIのGetUrlCacheEntryInfoでキャッシュ検索 見つかったらそれコピーすれば良し 見つからなかったら改めてWebClientかなんかでダウンロード
247 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 17:39:33 ] VS2008を使ってVBのプログラムを作っています。 条件は以下のとおりです。 1) DataGridViewのセルをダブルクリックすることで別フォームを開く。 2) ダブルクリックした CurrentCell の列番号を取得し、列番号により開くフォームの種類を変えます。 ところが、列番号が小さいうち(概ね 0 〜 15 くらい)は大丈夫なのですが、 取得した列番号が大きくなってくると、うまく動作しません。 (クリックしても無反応) なにか、ここら辺の事情とかご存知の方はいらっしゃらないのでしょうか?
248 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 17:41:51 ] なんだ事情てw
249 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 20:14:10 ] 結局>>241 を知っている人はいない?
250 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 20:42:32 ] >>249 enable切っちゃえば?
251 名前:デフォルトの名無しさん [2008/06/23(月) 22:26:01 ] VB2005、.Net Framework2.0です。 任意のタイミングで任意のイベントログを出力しようとしています。 System.Diagnostics.EventLogクラスを使って、種類・コンピュータ・ソース・イベントIDなどは出力できましたが、 ユーザだけは指定の仕方がわからず、N/Aになってしまいます。 「NT AUTHORITY\SYSTEM」や「hoge\Administrator」のように指定するにはどうすればいいんでしょうか。
252 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 02:22:10 ] コマンドライン引数を指定して他アプリを起動する方法を教えてください。 ノードパッドの例で System.Diagnostics.Process.Start("NotePad.exe", "c:\test.txt") というのを見つけたので System.Diagnostics.Process.Start("myappli.exe", "/a /d /c:\") としてみたのですが、ダメなようです。 myappli.exe内部の引数の受け取り方法の記述には間違いないと思います。 (dosコンソールからならOKなので) 宜しくお願いします。
253 名前:252 mailto:sage [2008/06/24(火) 03:04:34 ] ダメな原因が分かったのですが、 起動するmyapp.exeの仕様が DOSのコマンドプロンプトから起動するようになっているのですが、 >CD でmyapp.exeのあるパスに移動して起動して、そこと同じ場所にあるファイルについてのみ 動作するようになっているようです。 このため、コマンドプロンプトで >myapp /a /b /c:\ とすると大丈夫なのですが、 >c:\test\myapp /c:\test\a /b /c:\ とするとエラーになってしまうようです。 /aというのはa.txtというファイル名の処理対象のファイル(拡張子の指定は要らない仕様)です。 GUIで起動できるようにしたいのですが、myapp.exeの内部は改変できないので、 仕様の部分はどうしようもないと思いますが、VBでのmyapp.exeの起動時に コマンドプロンプトの >CD test で場所を移動した時のように、既定の場所を指定してmyapp.exeを 起動することは出来ないでしょうか? 宜しくお願いします。
254 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 03:08:28 ] バッチファイル作ってそれを起動したら
255 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 03:28:32 ] それ、すごくいいですね。 そうします!
256 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 09:55:50 ] .Net2005で、IPアドレスを取得するのに、 GetHostByAddressを使用しているのですが、 OSがXPだとIPv4のアドレスを返すのですが、 VISTAだとIPv6の形式?でアドレスを返してきます。 XPでもVISTAでもIPv4のアドレスを取得するには どうすればよいのでしょゆか?
257 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 10:17:23 ] GetHostEntry
258 名前:256 [2008/06/24(火) 13:13:46 ] >>257 できないです・・・ プロパティが違うのでしょうか・・・?
259 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 13:38:47 ] AddressListの中はIPv6のアドレスしか入ってないって事?
260 名前:256 mailto:sage [2008/06/24(火) 14:05:53 ] >>259 ありました。。。 XPだとAddressList(0)に入ってて、 VISTAだとAddressList(2)にありました。 これは環境によって入ってる場所が 違うということでしょうか・・・? とりあえず取得はできましたが、 まんどくさすぐるwww 一発で取得する方法は無いのでしょうか・・・?
261 名前: [―{}@{}@{}-] デフォルトの名無しさん mailto:sage [2008/06/24(火) 14:28:35 ] >>260 クラス化するとか 痒い所は自分で掻けよ
262 名前:256 mailto:sage [2008/06/24(火) 15:11:48 ] 素直にクラス化しますw VISTAってだるいですな。 いろいろありがとうございました。
263 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 15:59:51 ] XPだってIPv6インストールしてりゃ似たようなもんなのにな
264 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 16:23:26 ] XP C:\>ipv6 install
265 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 18:16:19 ] DataGridView でセルの結合ってどうすればいいのでしょうか? VS2008 で VB 使いです。 Web検索しても ASP.net とかばっかりで VB での解決法は見つかりませんでしたorz
266 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 19:17:00 ] キーワードにDataGridViewが入ってるならそうそうASP.NETネタが引っかかるとも思えないが。
267 名前:AMI mailto:AGE [2008/06/24(火) 19:53:40 ] こんばんわ。 VB2005Proで教えていただきたいのですが、 CrystalReportの「IFieldObject」を使用しているのですが、 このテキストオブジェクトの右そろえ・左そろえなどはできないのでしょうか? フォームのテキストボックスなどは、TextAlineでかえられるのですが プロパティがみつかりません
268 名前:デフォルトの名無しさん [2008/06/24(火) 23:12:41 ] 使用ソフト:Visual Studio2008 HTMLの中の特定の文字列を基準に左にa文字目の文字からb番目までのURLを ListViewを使ってリストにしようとしています。 例) <kijun/www.hogehoge1> <kijun/www.hogehoge2> <miurajun//www.hogehoge3> ← 不要 流れ的には 1.htmlに書いてある文字を全て取得して変数「URL」へ入れる 2.その中で正規表現を使用してURLを抽出して変数「URL2」へ入れる 3.for文で回して変数「URL2」の中身をリストに1つずつListViewへ入れていく こんな感じで合ってますでしょうか? ここで、質問なのですが1を実現できそうなサンプルを見てみましたが 取得したhtmlはどこに格納されているかが分かりません・・・。 適当にVBの方にコピペしてみたらエラーの嵐・・・。 www.atmarkit.co.jp/fdotnet/vb6tonet/vb6tonet02/vb6tonet02_01.html
269 名前:デフォルトの名無しさん [2008/06/24(火) 23:32:59 ] 戻り値のあるカスタムイベントを作りたいのですが何か方法はありますか。 戻り値はbool型で複数のすべてのハンドラーからtrueが戻ればtrue それ以外はfalseになります。ハンドラが1つもなければtureです。
270 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 00:13:48 ] >265 ttp://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=3445130&SiteID=7 ここらへんを参考にしたら? ヘッダーも明細も対して変わらない。 要は自分でセルを描画する。
271 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 00:45:34 ] >>269 カスタムのイベントイ引数を使用して、 例えばVoteメソッドを提供しておく。 戻り値取りたいならInvocationListで全部呼ぶって手もあるが、 イベントの一般規則には合わなくなる。
272 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 01:04:05 ] >>271 いろいろ試しましたが、VBは戻り値のあるdelegateをeventとして受け付けない仕様のようです。 RaiseEventがステートメントなのでその制限でしょうか。 ただC#でそういうイベントを作ればVBから使えるようでした。 結局仕様とは異なりますが、Form.Closingイベントで使われている CancelEventHandler/CancelEventArgsを使うことにしました。
273 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 13:34:17 ] 女子短大生がイタリアの大聖堂に落書き mamono.2ch.net/test/read.cgi/newsplus/1214365181/ しかし日本て第三世界の末席にもすわれなくなったんだな。。。 がっかりさせられる、しかし。
274 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 14:40:26 ] フォーム上の全てのTextBoxの中身を消したいのですが、1個づつコードを書いてやらなきゃダメでしょうか? For i = 0 To 100 Step 1 Me.TextBoxi.Clear() Next みたいな方法ないでしょうか? ↑ TextBoxi という指定はできませんでした。
275 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 14:45:14 ] >>274 またこれか。FAQのような。 正攻法なら自分で必要なコントロールの配列を作れ。 からめ手ならForm.Controlsプロパティから探す。
276 名前:251 mailto:sage [2008/06/25(水) 23:09:09 ] すいません、251ですが、 VBでイベントログでユーザの指定は無理なんでしょうか。
277 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 00:21:17 ] ファイルの中身をみてテキストファイルか否か確認する方法を教えて下さい
278 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 00:34:25 ] 正確には無理
279 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 15:31:23 ] VB2008からExcelを出力しているのですが、 AddHandler worksheet.SelectionChange, AddressOf HogeSelectionChange で最後にRemoveHandlerしても参照が解放されない為、Excelがメモリリークしてしまいます。 RemoveHandler worksheet.SelectionChange, AddressOf HogeSelectionChange どなたかAddHandlerで参照した部分の解放方法をご存じないですか? (それ以外の箇所はMarshal.ReleaseComObjectで解放できています)
280 名前:デフォルトの名無しさん [2008/06/26(木) 17:42:36 ] 質問です、VS2005 express editonを使ってるのですが。 MSDNライブラリがこいつには付属していません。 MSDNライブラリはダウンロード版とオンライン版があるのですが。 両者に違いはありますか? 使うのならどちらがいいでしょうか?
281 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 18:15:25 ] >>278 大まかに判断する方法でいいので教えて下さい
282 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 18:57:39 ] >>281 そのデータを作った本人がテキストとして作ったと太鼓判押さないかぎりは無理 jcodeのgetcode相当でも移植したら?それでも失敗はするけど
283 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 19:11:48 ] >>281 Windowsのshift-jis(ms932)限定でよくやる大雑把な方法は cr(0x0d) lf(0x0a) tab(0x09) ^Z(0x1a)を除く 0x00-0x1fまでのバイトが含まれているかどうかで調べる。 大きいファイルの場合最初の数kbyteくらいで判断する事もある。 utf-8でも0x00-0x1fにはかぶらないようしてるはずだから大丈夫だと思う。
284 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 19:25:47 ] BASE64エンコーディングされた文字列はテキストなんだろうか
285 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 00:41:28 ] 拡張子が.txtならテキスト
286 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 01:11:26 ] アドバイスありがとうございます。 かなり面倒な処理になるということがわかりました。 やりたいことは、 画像や動画ファイルをダウンロードした再に503のhtmlをファイルとして保存されることを避けたかったんです。 テキストとして開いてhtmlを検索かけて引っかかったらテキストという判断くらいにしておくかどうか、、、
287 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 01:50:01 ] 先にそれ言えやクソボケ
288 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 03:12:47 ] ねえ「503」は何のためにあるの?
289 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 09:34:02 ] >>288 ヘッダなんか見ねえよ!ってことなんだろ。
290 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 09:46:02 ] 質問の仕方が下手だとほんっと迷惑だね
291 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 11:38:50 ] 教えて下さい。 クラスオブジェクト変数に対して、既に実装(Set Newでの代入)がされているかまだなのかを チェックしたいのですが、どうすればいいでしょうか? よろしくお願いします。
292 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 12:03:11 ] Is Nothing Setは使われなくなった
293 名前:291 mailto:sage [2008/06/27(金) 12:03:55 ] 自己解決しました。 if clsAAA Is Nothing then = じゃなく Is を使うんですね
294 名前:291 mailto:sage [2008/06/27(金) 12:05:07 ] >292 書き込みのすれ違いでした。 ありがとうございます
295 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 17:28:44 ] >>287-290 今回の質問。 やりたいことが明白の場合、答えが変わるような部類の質問でしたか??
296 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 17:31:08 ] 「テキストかどうかじゃなくて503返してないかどうか調べろ」
297 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 20:39:35 ] いや、503っていうのは例えで、 404の場合404ページにリダイレクトされたりする場合、ステータスは200返ってくるので、弾けないんですよ
298 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 20:45:37 ] 仕方がないので暫定でContentType = "text/html"で判断することにしました。
299 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 20:47:55 ] AllowAutoRedirect切っときゃ良いんじゃね?
300 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 00:47:44 ] >>297 リダイレクトしなきゃいいだろが。 まあ >ContentType = "text/html" ですむならそれでいいと思うけど。
301 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 09:38:02 ] 必要なリダイレクトまで切れるのは問題なので
302 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 09:48:15 ] 自前で要求しなおすと言う選択肢は無いのか
303 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 12:15:18 ] 結局そこで要求しなおすか否かの判断基準が必要になって無限ループ
304 名前:デフォルトの名無しさん [2008/06/29(日) 15:05:08 ] おまいらとにかくこれを見ておけよ。どうしてくれるんだよ、詐欺の排出権取引 だとかで高いCO2代を分捕られて日本だけ狙い撃ちするきたねえ白人カザール人 エゲレス金貸し屋どもの陰謀でできたつってはっきりしてんじゃねーかよ。 何が不都合な真実だ?は??wwゴアだのがインチキ坊やで悪党手先の詐欺ノーベル賞 っつうのがはっきりしただろがよ!!!!!!!!!!!バカ野郎が!!!!!!!!! 「地球温暖化詐欺」(日本語字幕つき) video.google.com/videoplay?docid=-642469597858991670&hl=en video.google.com/videoplay?docid=-3254620128315043053&q=&hl=en video.google.com/videoplay?docid=8486751216888618909&q=&hl=en video.google.com/videoplay?docid=-8733072493656166413&q=&hl=en video.google.com/videoplay?docid=4354818942774262279&q=&hl=en 地球温暖化の原因は、人為的なCO2のせいなどではない!
305 名前:デフォルトの名無しさん [2008/06/29(日) 16:20:31 ] コピペ君って馬鹿だな、まで読んだ。
306 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 16:20:47 ] Me.tbl = New DataTable() With Me.tbl .Columns.Add("col1", GetType(String)) .Columns.Add("col2", GetType(String)) .Columns.Add("col3", GetType(Integer)) .Columns.Add("col4", GetType(Integer)) End With With Me.DataGridView1 With DirectCast(.Columns(.Columns.Add(New DataGridViewTextBoxColumn)), DataGridViewTextBoxColumn) .Name = "col1" .DataPropertyName = "col1" End With With DirectCast(.Columns(.Columns.Add(New DataGridViewTextBoxColumn)), DataGridViewTextBoxColumn) .Name = "col4" .DataPropertyName = "col4" End With With DirectCast(.Columns(.Columns.Add(New DataGridViewTextBoxColumn)), DataGridViewTextBoxColumn) .Name = "col3" .DataPropertyName = "col3" End With With DirectCast(.Columns(.Columns.Add(New DataGridViewTextBoxColumn)), DataGridViewTextBoxColumn) .Name = "col2" .DataPropertyName = "col2" End With .DataSource = Me.tbl End With 上は例ですが、例のようにやったとき、DataGridView1の列並びが期待(col1,col4,col3,col2)通りになりません。 col1,col3,col2,col4のようになります。 このやり方にはどのような問題があって期待通りにならないのでしょうか?
307 名前:デフォルトの名無しさん [2008/06/29(日) 16:23:13 ] DataSetとDataReaderでパフォーマンスの差が出るのは、SQL文を実行した時点ですか?
308 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 16:42:42 ] >>306 訂正 .Name = "col1" の各記述は .Name = "col1列" のようになっています。 DataPropertyNameとNameは別の値が入っています。
309 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 16:52:14 ] 事故解決 .AutoGenerateColumns = False でできました
310 名前:デフォルトの名無しさん [2008/06/30(月) 09:39:16 ] >>307 使用目的が違うから、なんともいえない VB6使ってると、datasetに突っ込んで、local cache として使いたいことは あるけどね。 dataset.load(sqldatareader) 使えば、あまり気にならない気がするw #2.0以降だけど
311 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 22:24:57 ] setclipbordviewerでクリップボード監視してるんですが、 時々監視が切れることがあります。 これはそういうものなんでしょうか?
312 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 14:25:45 ] DataGridView の Row内の数値のうち、最大の値を持つセルを見つけるには どういうアルゴリズムがいいでしょうか?
313 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 15:18:02 ] >>312 自己解決しました。 行内の要素を配列に取り込んで、Math.Max メソッドを使いました。
314 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 13:40:59 ] 質問失礼致します。 今VB2008でスケジューラーアプリを作成しているのですが、 MonthCalendarコントロールを使っており、 選択された日付にデータが登録された場合には Dim dt As Date Dim dbold As Datetime Dim y As String = "" Dim m As String = "" Dim d As String = "" (中略) '連続して選択できる日数を1日にする MonthCalendar.MaxSelectionCount = 1 dt = Me.MonthCalendar.SelectionStart.ToString() '日付取得の自作関数 Call dateConvert(dt, y, m, d) dbold = New DateTime(y, m, d) Me.MonthCalendar.AddBoldedDate(dbold) と、その日付を太字にするような処理を行っています。 このAddBoldedDateで追加されたBoldedDates動的配列の要素を削除して 太字から元のフォントに戻す処理を加えたいのですが どのようにすればよいでしょうか?
315 名前:314 mailto:sage [2008/07/02(水) 14:01:49 ] 連投すみません。 RemoveBoldedDateメソッドを使う事で自己解決しました。 スレ汚しすみませんでした。
316 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 00:21:25 ] Just-In-Time (JIT) デバッグを呼び出すための詳細については、 ダイアログ ボックスではなく、このメッセージの最後を参照してください。 ************** 例外テキスト ************ System.NullReferenceException: オブジェクト参照がオブジェクト インスタンスに設定されていません。 場所 System.Data.DataView.GetRecord(Int32 recordIndex) 場所 System.Data.DataView.GetRow(Int32 index) 場所 System.Data.DataView.System.Collections.IList.get_Item(Int32 recordIndex) 場所 System.Windows.Forms.CurrencyManager.get_Item(Int32 index) 場所 System.Windows.Forms.DataGridView.DataGridViewDataConnection.GetError(Int32 boundColumnIndex, Int32 columnIndex, Int32 rowIndex) 場所 System.Windows.Forms.DataGridViewCell.GetErrorText(Int32 rowIndex) 場所 System.Windows.Forms.DataGridViewTextBoxCell.GetErrorIconBounds(Graphics graphics, DataGridViewCellStyle cellStyle, Int32 rowIndex) 場所 System.Windows.Forms.DataGridViewCell.GetErrorIconBounds(Int32 rowIndex) 場所 System.Windows.Forms.DataGridViewCell.UpdateCurrentMouseLocation(DataGridViewCellMouseEventArgs e) 場所 System.Windows.Forms.DataGridViewCell.OnMouseMoveInternal(DataGridViewCellMouseEventArgs e) 場所 System.Windows.Forms.DataGridView.OnCellMouseMove(DataGridViewCellMouseEventArgs e) 場所 System.Windows.Forms.DataGridView.UpdateMouseEnteredCell(HitTestInfo hti, MouseEventArgs e) 場所 System.Windows.Forms.DataGridView.OnMouseMove(MouseEventArgs e) 場所 System.Windows.Forms.Control.WmMouseMove(Message& m) 場所 System.Windows.Forms.Control.WndProc(Message& m) 場所 System.Windows.Forms.DataGridView.WndProc(Message& m) 場所 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) 場所 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) 場所 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) 困難出る場合、どう対処したらいいかわかる方いますか?
317 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 00:23:54 ] >>316 ガッ だろ2ch的には。
318 名前:エスパー大募集 mailto:sage [2008/07/04(金) 00:31:30 ] datatableを用意して、datagridviewのdatasouceに設定 行ごとにbackgroundworkerでスレッドを作成 スレッドは、selectしたdatarowを保持して、定期的に値を更新しています。 するとひょんなタイミングでdatatableの内部インデックスが破損したエラーが発生するので、 datagridviewのdataerrorをキャンセルして、datatableを再構成して、datagridviewのdatasouceに設定するようにしたところ どこかで上記エラーが発生しています。 一番良いのは4行目のエラーが発生しないことですが、 心当たりのある方教えて下さい。
319 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 00:50:38 ] backgroundworkerでdatagridviewをいじってるときにControl.Invokeで同期はしてるの? ProgressChangedは自動で同期してくれるけど。
320 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 01:36:21 ] invokeしています。
321 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 18:26:18 ] 嘘ついたinvokeしてなかったです。 別スレッドから同一のrowを操作することはないから大丈夫かと思って外していました。 各スレッドから同一のrowを操作することがなくてもinvokeは必須ですか?
322 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 18:43:56 ] そのDataTableがコントロールのデータソースになってる限り必須
323 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 19:00:08 ] ありがとうございます とりあえずinvokeかませて様子見ます datagridviewのdatasourceにdatatableを設定する場合と bindingsourceを噛ませて設定する場合、どういう違いがありますか?
324 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 19:27:45 ] Positionとか使える
325 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 19:40:38 ] これからVB.NETを独学で学ぼうと思うんですが 基礎を中心に詳しく解説してある教科書的な 入門書とかあったら教えていただけませんか?
326 名前:デフォルトの名無しさん [2008/07/04(金) 22:27:30 ] ShellExecuteEx() を <DllImport("shell32.dll", EntryPoint:="ShellExecuteEx", CharSet:=CharSet.Auto)> _ Friend Shared Function ShellExecuteEx(ByRef sei As SHELLEXECUTEINFO) _ As <MarshalAs(UnmanagedType.Bool)> Boolean End Function でCallしてフォルダのプロパティを表示してみたのですが、連続して いろいろなフォルダに対して実行しているときは間髪置かずにプロパティ ウインドウが出て来るのですが、 最初の一回目と、途中で別のプロセス(Excelのワークシートなど)で作業して 再度実行した場合だけは、とても長い時間(15秒程度)待たないと出て来ません。 しかしExplorerでやってみると、最初から(途中で何をしようとも)いつでもすぐに 出て来るのですが、これは.NETでは特別な処置をしているからなのでしょうか? 解決のための対策としてはどういったことをすればいいでしょうか? よろしくお願いします。
327 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 23:31:25 ] Windows XP で VB 2005 Express Edition を使ってプログラミングすることになりました。 今回作るのは RS232C で通信するアプリなのですが、 通信には SerialPort クラスのオブジェクト (仮に sp とします) を使おうとしています。 そのツールは、データを送信する前に Break 信号を発生させる必要があります。 MSDN を見ると SetCommBreak() という関数があり、これが期待した動作をしてくれそうなのですが、 SetCommBreak() の引数は「通信デバイスのハンドル」となっていました。 具体的に何を渡せば良いのでしょうか? sp.open() したあとの、sp を引数として渡す、ということなのでしょうか?
328 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 01:53:02 ] SerialPort..::.BreakState プロパティ
329 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 15:21:54 ] 一般的なWindowsアプリケーションでは、Alt、Fと順に キーを押した場合に、ファイルメニューが開きます。 VB.netで作ったアプリの場合、IMEがオンの状態では MenuStripにFキーが渡らず、アクティブコントロールに Fの未確定文字が表示されてしまいます。 とりあえず、MenuStripがアクティブになった際に、 ImeModeを保存して、オフにして、デアクティブに なった時に元のImeModeに戻しているんですが、 もっとスマートに処理する方法はないでしょうか?
330 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 15:24:33 ] >一般的なWindowsアプリケーションでは 例えば? っていうか、本当に「一般的なWindowsアプリケーション」で同じこと 試して言ってる?
331 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 15:58:43 ] >>330 MS Office製品、一太郎、エディタ等の日本語入力を主に扱うものは このような挙動ですね。 ExplorerやInternet Explorer等は挙動が違うようで、IMEがオンの 状態でAlt、Fと順にキー入力した場合は、ファイルメニューが 開きません。 「一般的な」という表現は変でしたね。すみません。 ただ、Explorer等についても、IMEがオンの状態で、Alt+Fでファイル メニューを開いた後に、単独でOを押せば「開く」等のメニュー項目 を選択できます。 MenuStripはこのような操作の場合でも、アクティブコントロールに 未確定文字が入力されてしまいます。 これも気持ち悪いので、メニューがアクティブな状態ではメニューに キーを渡したいのですが、いちいちIMEをオフにするよりもスマートな 方法があればご教示いただきたいのです。
332 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 16:48:37 ] vb.net2005で最新のrefactor!って重くないか? PCを再インストールした際に最新を入れたら 微妙な使い勝手とかグラフィカルな表示とかで良くなっているんだけど、 以前のバージョンよりもかなり重くなった気がする。 つーか反応がなくなる事が多くなった。 見た目のエフェクトを切ったりして軽くする方法はないだろうか? 気まぐれで会社のPC&環境を再インストール ↓ お、重くね? ↓ 神レスに期待 ←今ここ ↓ 古いバージョンに戻す ↓ 消す ↓ 新PC申請、却下 ↓ \(^o^)/
333 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 18:06:35 ] 初歩的な質問で申し上げないのですが VB.NETで作られたソフトはcore2Duoみたいに分けられたCPUに対応しておりますか? あるソフトを使用したときにCPU稼働率が50%以上にならないようなのですが・・・。 ご教授願います。
334 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 18:21:53 ] >>333 意図的にスレッド2つ使わないと100%行かないよ。 タスクマネージャのCPUをまとめて1つ表示から、個別に表示に替えろ。
335 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 22:12:30 ] >>334 すべてのCPUで一つのグラフ こんなのある知らなかったw
336 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 23:37:41 ] Build a Custom NumericUpDown Cell and Column for the DataGridView Control msdn.microsoft.com/en-us/library/aa730881 (VS.80).aspx ここのサンプル(サンプルはC#)を参考にスピンボタンのついたdatagridviewのセルを作りました。 セルが読み取り専用時にはスピンボタンを表示しないように、Paintメソッドの先頭を下のように改造しました。 If Me.DataGridView Is Nothing Then Return End If If Me.ReadOnly Then MyBase.Paint(graphics, clipBounds, cellBounds, rowIndex, cellState, value, formattedValue, errorText, cellStyle, advancedBorderStyle, paintParts) Return End If すると、初期表示では意図する動作をしましたが、 列のソートを行うとスピンボタンが表示されてしまいましたので、下のようにしました。 Private Sub DataGridView_Sorted(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles Me.Sorted Me.OnPaint(New PaintEventArgs(Me.CreateGraphics, Me.ClientRectangle)) End Sub すると、一瞬スピンボタンが表示されてから、スピンボタンが消えるようになりました。 一瞬の表示も行いたくありません。 どのようにすればいいですか?
337 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 01:18:21 ] 事故解決しました