VB.NET質問スレ (Part22 ..
[2ch|▼Menu]
446:436
07/07/30 22:07:15
>>445
ん?

ピクチャボックスに画像表示でしょ?

PictureBox1.Image = Image.FromFile()

プロジェクトリソースの場合は

PictureBox1.Image = My.Resource.リソース名

CreateGraphicsはPaintイベント使わないと消えるんじゃないの?
CreateGraphics自体あんまり使わないから詳しいことは知らないけど。
馬鹿アホ呼ばわりされてもいいけど、きちんとどこを指してるのか
指摘してくれないと困る。

447:デフォルトの名無しさん
07/07/30 22:07:17
>>455
何で同じコードなのに?という疑問が先にたって書き込んでしまいました
すいません
紹介していただいたサイト見て勉強します

448:デフォルトの名無しさん
07/07/30 22:10:33
>>446
ピクチャーボックスのImage プロパティにImageを設定するやり方は
あくまで(コスト度外視で)簡易的に画像を表示する方法であって王道ではない。

もしこれが言いがかりだと思ってるなら君も初歩から勉強が足りなすぎるよ。

449:436
07/07/30 22:14:28
>>448
何を勝ち誇ってるのか知らないけど
どういう方法を選択するのかを決めるのはプログラマでしょ?
>>370ぐらいの初心者にそういうアドバイスは
あなたの単なる自己満足でしょ。

あなた回答もしないのに性格極悪だね。

450:デフォルトの名無しさん
07/07/30 22:18:51
>>449
地獄への道は善意で舗装されている、という言い古された言葉をしらないのか君は。

451:370
07/07/30 22:24:03
自分のせいで雰囲気悪くなってすいません

452:436
07/07/30 22:24:30
>>450
だから、そういう抽象的な自己満足ならレスしないでよ。
>>442をどう解釈するかは>>370なんだって。
>>448の主張こそ>>370を縛る「善意の舗装」だってどうして気づかないわけ?

某スレにも回答しないのに回答者にダメ出しばっかりしてる人がいるみたいだけど
あなたじゃないの?

453:デフォルトの名無しさん
07/07/30 22:28:16
>>448
ちょいまて。
PictureBox.Image を使うのが王道でないならそもそも PictureBox を使う意味なんか一切ない。
ということを踏まえての発言だよな?

454:436
07/07/30 22:29:28
>>451
ああ、気にしないでがんばって。

455:438
07/07/30 22:30:51
>>448
その王道のやり方を教えてください。

456:370
07/07/30 22:36:35
議論の沈静化になるか分かりませんが、>>370は画像の重ね合わせのサンプルを
参考にしたもので、本ではその後別の画像を透過色を指定して描画しています
試しにまず一枚描画したとこformのロードイベントでは表示されなかったので質問した次第です



457:デフォルトの名無しさん
07/07/30 22:44:38
>>456
いつもこんな感じだから別にあなたのせいじゃないよw


458:デフォルトの名無しさん
07/07/30 22:52:26
>>453
なんでそういう風に短絡するかね。

たとえ話で言えば、スナップショットを撮るときにコストを度外視していつもポラロイドを
使う奴がいたらそいつは馬鹿だが、だからといってポラロイドの価値がゼロってわけじゃない。

たとえばスプラシュスクリーンとかバージョン情報のダイアログにPictureBoxを
使うのが悪い選択とは俺も思わない。

ただ、王道をスキップしてコスト高の手抜き手法のみ教えるのは馬鹿だといってるだけね。

459:デフォルトの名無しさん
07/07/30 22:56:58
>>458
君の論理の飛躍のほうが世間的には受け入れられないと思うが・・・

460:デフォルトの名無しさん
07/07/30 22:58:49
とりあえず 458 が日本語に不自由な人だというのは分かった。
からもういいや。

461:デフォルトの名無しさん
07/07/30 23:12:21
で、結局王道のやり方ってなに?

Private bg As Image = My.Resources.back

Private Sub PictureBox1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
    e.Graphics.DrawImage(bg, New Point(0, 0))
End Sub

でいいの?

462:436
07/07/30 23:23:33
たぶんExcelスレで初心者を煽り倒してる人でしょう。
全部文章で1行も回答しないところも一緒。
こっちでも玄人のフリできると思ったのかな。

463:デフォルトの名無しさん
07/07/30 23:37:32
>>462
下らん。
そういうのを「逆ギレ」という。

もし反論があるのなら俺の言った内容に関して反論してくれ。
PictureBoxのImageプロパティを使う方法は画像の描画方法としては邪道の部類。
これ間違ってる?

エクセルスレなんて行ったこともないが、仮に俺がそのエクセルスレの人物と
同一人物だったら何だというのだw

464:デフォルトの名無しさん
07/07/30 23:48:34
>>463
>これ間違ってる?

もっと自信もちなよ。

>エクセルスレなんて行ったこともないが、仮に俺がそのエクセルスレの人物と
>同一人物だったら何だというのだw

時にこういう開き直りも大事だと思うよ。

ごめん、勉強があるから。

465:デフォルトの名無しさん
07/07/31 00:19:19
>>463は王道なコードをびしっと書いて終わりにすればいいのに。


466:デフォルトの名無しさん
07/07/31 07:41:55
>463
王道コードプリーズ

467:デフォルトの名無しさん
07/07/31 07:44:35
>>463
王道!王道!王道!

468:デフォルトの名無しさん
07/07/31 07:47:34
王道!が流行しそうじゃないかw

469:デフォルトの名無しさん
07/07/31 08:44:16
370がなんだかいじらしく思えたきたw
おそらく超初心者だな
最初は疑問だらけだろうがガンガレ

470:デフォルトの名無しさん
07/07/31 08:56:57
>>463
俺にもその「王道」とやらのコードを教えてくれないか。
後学のためにぜひともお願いしたい。

471:デフォルトの名無しさん
07/07/31 09:14:21
>>463
王道よろしく

472:デフォルトの名無しさん
07/07/31 09:38:15
王道を見せてくれると聞いたので 嘔吐しそうですがやってきました!!!!

473:デフォルトの名無しさん
07/07/31 09:45:12
ゴッチが死んだのに、なんで全日の話題に走る?
ストロングスタイルのコードを見せろよ。


474:デフォルトの名無しさん
07/07/31 09:46:17
imageプロパティがコスト度外視ってのが理解できない。
どういうこと?


475:デフォルトの名無しさん
07/07/31 09:49:41
プログラムでいうコストって表現は何を示すのだ?
処理の早さ?

476:デフォルトの名無しさん
07/07/31 09:51:07
実行時間コスト?
リソースコスト?
金額コストw
手間(作成こすと?)?


477:デフォルトの名無しさん
07/07/31 09:54:29
とりあえず>>463の王道見てからにしようぜ

478:デフォルトの名無しさん
07/07/31 11:33:45
>>463
>これ間違ってる?
「それを邪道とするのが一般的だ」という主張であれば、間違ってますね。
そもそもそんな瑣末なコストを気にしなければならないシチュエーションで
VB.NET なんか使う奴は莫迦です。

479:デフォルトの名無しさん
07/07/31 12:27:34
まあ馬鹿な連中っていうのはこうやって自分自身の居場所を自分で破壊するんだな。

こういうくだらないレスが連続すれば、回答者側に回るポテンシャルの持ち主ほど
必然的にここに来なくなる可能性が高いことぐらい理解できないほど馬鹿なのかね。

それとも、昔話のサソリみたいに、自分も沈むと分かっていても自分が乗ってる
蛙を刺さずにはいられない類の精神の病み方をしているのか。

たぶん両方だろうね。

480:デフォルトの名無しさん
07/07/31 12:40:53
>>479
御託はいいから早く王道書いてよ

481:デフォルトの名無しさん
07/07/31 12:50:11
>479
その高いポテンシャルのコードを見せてくれ

482:デフォルトの名無しさん
07/07/31 12:53:27
>>479
お前にぴったりのスレがあるぞ

スレリンク(tech板)

483:デフォルトの名無しさん
07/07/31 14:08:42
ヤフオクの注目を一括して設定したいのですが、ちょっとご意見を聞かせてください
1.出品一覧を取得しGridに表示
2.SHDocVw.InternetExplorerを使ってソースを読み取りStringReaderに展開(innerHTML)
3.1行づつ読み込み、設定
という流れで処理していますが、3で無理やり感がしています。
特に3での処理が長くいので、連続してやっていくとエラーが良く出るのです。

スマートでエラーが出にくい書き方ってありますか?

484:デフォルトの名無しさん
07/07/31 14:31:24
>>479
王道!王道!王道!

485:デフォルトの名無しさん
07/07/31 15:15:12
あるテキストの最後が改行コードかどうかを調べるにはどんなかんじのプログラムを書くの?

486:デフォルトの名無しさん
07/07/31 15:57:03
とりあえず改行コードは何を使うのか聞こうか

487:デフォルトの名無しさん
07/07/31 16:49:16
古いVBを引きずっていいよ派:
  If Right(hoge, 2) = vbNewLine Then
VB.NET なんだからさ派:
  If hoge.EndsWith(Environment.NewLine) Then
まあその前に >>486 か。

488:デフォルトの名無しさん
07/07/31 17:25:02
>>445>>448>>450>>458>>463>>479

プログラムスレなのに文系丸出しじゃないですか
まさに王道ですね

489:デフォルトの名無しさん
07/07/31 17:26:50
まだやってるのか
双方とも厨まるだし

490:デフォルトの名無しさん
07/07/31 17:44:37
王道!王道!王道!

491:デフォルトの名無しさん
07/07/31 17:52:45
NewLineとCrLfの違いは?

492:デフォルトの名無しさん
07/07/31 18:25:56
みたまま全然違うじゃん

493:デフォルトの名無しさん
07/07/31 18:42:02
vbNewLine と vbCrLf は等価。
vbCrLf と vbCr & vbLf も等価。
Environment.NewLine と vbNewLine は Windows では等価。

494:デフォルトの名無しさん
07/07/31 20:20:32
ちょっと王道でラーメン食ってくる

495:デフォルトの名無しさん
07/07/31 20:50:24
じゃ俺、尿道に割り箸突っ込んでくる

496:デフォルトの名無しさん
07/08/01 10:01:34
ToolStripのボタンの、ドロップダウンのボタン、
ToolStripSplitButtonやToolStripDropDownButtonに、
選択中を示す「Chekedプロパティ」みたいなのってないんでしょうか?
ToolBarから移行しようと思ったんですが、にんともかんとも…。
ってか、この2つ、見た目(分かれてる)以外に何が違うの?

497:デフォルトの名無しさん
07/08/01 10:12:02
VB.Net2003でWinアプリを開発してます。

ListViewを使用してアイコン表示してるのですが、場合により
そのアイコンに記号を重ね合わせて表示したいのです。

たとえていうなら、Explorerでショートカットファイルはオリジナルファイルの
アイコンと、ショートカットを示す小さな矢印アイコンが合成される、あのイメージです。

あらかじめ使用するだけのアイコンをすべて用意しておいて、ImageListに埋め込んでおけば
いいのかもしれませんが、そういうわけにもいかないので・・・。

具体的にやりたい方法は、
 FormLoad時にListViewの各種ImageListを設定
 それらのImageListにはImage.FormFileで動的に取得
 条件により小さな記号を重ね合わせて表示
てな感じです。

.Net1.1のListViewではオーナードローは無いみたいですし、2.0にはまだ移行できない現状ですし・・・。
何か良いアイディアがあれば教えてください。

498:496
07/08/01 10:59:57
普通のToolStripButtonの横に、
イメージをクリアしたToolStripDropDownButtonを配置することで、
希望していたものが作成できそうです。
どうもお騒がせしました。

499:デフォルトの名無しさん
07/08/01 11:52:40
>>497
ListView.ImageListを切り替えて使うのはどう?

If ある条件 Then
TreeView1.ImageList = ImageList1
Else
TreeView1.ImageList = ImageList2
End If


500:497
07/08/01 12:09:25
>>499
レスありがとうございます。

やりたいのは、動的に生成したImageListと、ListViewItemの状態により
記号の付加です。

付加したい記号は固定なのでImageListにしてしまおうと考えています。

つまり、動的に生成したImageListでListViewItemを表示し、そのListViewItemの
 状態が1なら○
 状態が2なら△
 状態が3なら×
 状態が0なら記号なし
みたいに状態をあらわす記号を付加してListViewItemに表示したいのです。

言いたいことが伝わりますでしょうか?

501:デフォルトの名無しさん
07/08/01 13:08:22
>>500
記号を付加したアイコンをその都度作成するしか方法はないんじゃない?

502:497
07/08/02 14:01:16
>>500
レスありがとうございます。
やはりそうなりますよね・・・。
ListViewのアイコンにレイヤみたいなのが使用できればよかったんですけど。
ありがとうございました。

503:デフォルトの名無しさん
07/08/02 18:49:40
やや漠然とした質問で申し訳ないんだけど、
ComboBoxのOnDrawItemの中で、DrawItemEventArgsのGraphicsプロパティではなく、
あえてComboBox.CreateGraphicsでGraphics取得して描画した場合何か想定される
問題ってあるかな?

そもそもそんなことする必要ないだろ、って突っ込みがきそうですが、
説明すると長くなるので省略しますがとにかくその必要はあるのです。

こういうのは結局Win32に明るくないとよくわからない。

504:デフォルトの名無しさん
07/08/02 19:34:47
ダブルバッファにしたときはまる。
やらないだろうけど。


505:デフォルトの名無しさん
07/08/02 20:11:33
リストビューで列ヘッダーのサイズ変更を禁止にするにはどうすればよろしいでしょう?

506:デフォルトの名無しさん
07/08/02 20:31:53
>>504
よかったら詳しく。
それと、それは(Win9xの場合も含めて)通常は問題ない、という意味にとっていい?

507:デフォルトの名無しさん
07/08/03 12:16:54
うわぁぁぁああ!

ビルドしたら突然IDEが落ちる!!!
DebugでもReleaseでもIDEが落ちる!!!!

さっきまで普通にビルドできていたのに!
そういや全てのフォームのリソースがどうのこうのってビルドエラーが1回でたな・・・

どうやったらビルドできるようになるんだ!?!?

508:デフォルトの名無しさん
07/08/03 12:32:47
空のプロジェクトでも落ちるん?

509:デフォルトの名無しさん
07/08/03 12:35:34
>>507
前にもどこかに書いたけど、WinFormのGUI部品を継承したクラスで妙なことやってると
そういった現象が発生する場合はあるみたいだ。

510:デフォルトの名無しさん
07/08/03 13:42:09
VS2003です.
フォームを閉じるとき,その操作が(戻るボタンなどの)ボタンによるもの
なのか,それともフォームの閉じるボタンによるものなのかを判定するには
どうしたらよいでしょうか?

ボタンが一つ(btnBackとする)なら,Closingイベントで, If sender Is btnBack Then〜
とできるのですが,ボタンが複数ある場合はどうしたらいいでしょう?


511:510
07/08/03 13:58:34
すみません,下2行は無視して下さい.
senderはどちらにしても該当フォームになるんでしたね.

512:デフォルトの名無しさん
07/08/03 14:18:25
>>510
URLリンク(jeanne.wankuma.com)

513:デフォルトの名無しさん
07/08/03 15:09:42
VB.NET2005で最終完成でこれいじょうバージョンアップのときに購入させられることありませんよね?

514:510
07/08/03 15:23:51
>>512
ありがとうございました.けっこう面倒なんですね…

515:デフォルトの名無しさん
07/08/03 16:11:27
>>513
何言ってんだ。
OSも開発環境も、買わせる為にバージョンアップを繰り返してるってのに。

516:507
07/08/03 16:49:28
原因はなんなんだろうなぁ・・・

ビルドしたかったプロジェクトを含むソリューションには複数のプロジェクトがあったんだけど
とりあえず今ビルドしたかったプロジェクトだけを含むソリューションを1つだけ作成して
ビルドしたら正常にビルドできて普通に動作してるよorz

これ以外のプロジェクトもそれぞれ単体でビルドすればイケるんだけど、
まとめてあるソリューションを開いてビルドすると落ちる・・・

>>509
kwsk

517:デフォルトの名無しさん
07/08/03 18:31:30
>>516
だからさ、もしプロジェクトで自作の継承コントロールとか複合コントロールを
使ってるならそいつが臭いかもよ、って話よ。

ただ、俺の経験した現象は、その自作のコントロールを使ってるフォームを
デザイナで開くとIDEが落ちる落ちる、というものだったけど。

もちろん落ちるのはその自作コントロールのコードに問題があるからであって、
意味なくやたらと落ちるわけじゃないけどね。

518:デフォルトの名無しさん
07/08/03 21:10:36
>>517
さんくす。

確かに自作コントロールを使用しているプロジェクトはあるんだけど、
そのプロジェクト単体のソリューションではちゃんとビルドできるんだ。

で、結局、新規に空のソリューションを作成してから今までの各プロジェクトを
追加したら普通にビルドできるんでやんのw

>>517みたいにデザイナで開くとIDEが落ちる、というのとはちょっと現象が
異なっているんよ。

原因はわかっていないけど、とりあえず今は正常にビルドとかできてるし
なんとかこのまま乗り切れたらいいのになぁ。
原因が解明できてないのでまた同じ現象に陥ることもあるかもしれないけど。

519:デフォルトの名無しさん
07/08/03 21:48:09
余計なお世話だろうけど、寝た子は起こして原因は究明しといた方が
後々安心だよ。

とりあえず別のPCにIDEインストールして「落ちる」リソルーションを読ませて
確認することで、原因が環境にあるのかプロジェクトにあるのかの切り分けはできるでしょう。

520:デフォルトの名無しさん
07/08/03 22:16:55
WebBrowser上のマウスの座標を取得する方法を教えてください。

521:デフォルトの名無しさん
07/08/03 22:17:41
Control.MousePosition で充分だろ

522:デフォルトの名無しさん
07/08/03 22:21:54
exeのアイコンを取得したいんですけど、
Icon.ExtractAssociatedIconでは複数のアイコンが含まれたexeから
2番目以降のアイコンを取得することは出来ますか?

523:デフォルトの名無しさん
07/08/03 22:29:54
>>521
WebBrowser上のマウスの座標を取得する方法を教えてください。

524:デフォルトの名無しさん
07/08/03 22:56:35
>>522
無理 頑張ってWin32API
Webを探せば余裕で見つかりそうだが

525:デフォルトの名無しさん
07/08/03 23:08:44
>>524
dクス

あちゃーWin32か…
ちょっと頑張ってみます

526:デフォルトの名無しさん
07/08/05 13:12:35
教えてください。
ControlPaint.DrawCaptionButtonで、閉じるボタンなどの描画ができますが、
ビジュアルスタイルを適用していないボタンしか描画できません。
ビジュアルスタイルが適用された閉じるボタンを描画する方法はありますでしょうか?
よろしくお願いします。
環境はVB2005 Expressです。

527:デフォルトの名無しさん
07/08/05 22:30:13
VisualStyleRenderer and VisualStyleElement

528:デフォルトの名無しさん
07/08/05 22:46:57
おおー2.0からそんなクラスが追加されてたのか知らなかった


529:デフォルトの名無しさん
07/08/06 00:51:43
JAVAみたいにArrayListで、
A = list(cnt++)
B = list(cnt++)



みたいな感じで取得できませんか?

530:デフォルトの名無しさん
07/08/06 01:34:30
自分でラップしてそういうクラス作るだけじゃないか。

531:デフォルトの名無しさん
07/08/06 07:59:33
コンボボックスのボタンで開くようなポップアップウインドウのようなものを
作りたいのですがうまくいきません。
縁無しウインドウをモーダルで開くとそれっぽく見えるのですがタスクが移動して
しまいコンボボックスのそれとは違うようです。
良い方法がありましたら教えて下さい。


532:526
07/08/06 10:23:16
>>527
でけましたヽ(´ー`)ノヒントありがとー!

>>528
自分も全然。

533:デフォルトの名無しさん
07/08/06 16:15:06

皆さん教えてください、よろしくお願いします。
MessageBox のように戻り値を持つFormを作成するにはどのようにすればよいでしょうか。
何かそれように使える特定のクラスがあるでしょうか。



534:デフォルトの名無しさん
07/08/06 16:34:15
フォームにプロパティをつけて、そのフォームをShowDialogで開く。
閉じられたときに、そのプロパティを取得する。
みたいな感じでいいんじゃない?

まんまダイアログでいいなら、追加→新しい項目→ダイアログ
でダイアログ追加してそれをカスタムするとか。

535:デフォルトの名無しさん
07/08/06 17:37:46
つうか DialogResult


536:デフォルトの名無しさん
07/08/06 17:41:59
oh! DialogResultって普通にフォームのプロパティやったんやな…

537:533
07/08/06 18:08:26
>>534-536

DialogResult というプロパティがあってそれを変更しておけばいいのですか、
なるほど、わかりました!!

ありがとうございました。

538:デフォルトの名無しさん
07/08/06 18:30:19
モーダルなダイアログなら、フツーはShowDialogの返り値を取得するんだけどね。

いつものことだけど、このスレにもc#のスレにも結構テキトーなこという奴がいるんで
話半分に聞いた方がいいよ。

モーダレスなフォームで閉じられた時に何らかの値を「返す」ようにしたいのなら
例えばValueEnteredのようなイベントを自作して、ValueEnteredEventArgsのプロパティとして
返り値が取得できるようにした方がわかりやすいと思う。

539:デフォルトの名無しさん
07/08/06 22:49:58
と本日一番てきとーな答えが返ってきました。


540:デフォルトの名無しさん
07/08/06 23:08:10
と、暇人が申しております。

541:デフォルトの名無しさん
07/08/07 08:58:11
つうか、親画面が生成したモードレス画面のClosingイベントか何かにイベント関数設定すればよかんべ。
VB6とちがって、 AddHandlerつう便利な呪文があるんだから。

イベント関数は別にそのイベント発生フォームにある必要がない。


542:デフォルトの名無しさん
07/08/07 09:44:49
>>538
モーダレスなフォームが閉じられた場合、どこがその返り値を受け取るのさ?
モーダレスの場合は、閉じられる側のフォームが値を押し付けるしかできないだろ。

ってか533は「MessageBox のように戻り値を持つFormを作成するには」って書いてるのに、なんでモーダレスの話になるのさ?

543:デフォルトの名無しさん
07/08/07 10:03:02
>>542

>>538じゃないが、つくりにもよるが、>>541に書いたとおりだよ。
モードレスフォームから受け取りたいと思ってる画面が、Closeingイベントか何かにイベント関数登録しとけばいいだけ。
その、受け取りたい側は別に1つである必要はない。
モードレス側がイベントをブロードキャストするだけ、おらっちしぬけどいいべか?って。


544:デフォルトの名無しさん
07/08/07 10:07:55
んあー、、っと、AddHandlerで、モーダレス側のClosingの時に、親の方のメソッド走らせるってことか。
んなことできるのか!

545:デフォルトの名無しさん
07/08/07 10:16:02
そこが楽しいところですよ。

コントロールダブルクリックしてイベント書いてるだけじゃVB6と変わらない。
Delegateの仕組みというか其のあたりを理解すれば、また違う世界が・・・。


546:544
07/08/07 10:20:39
>>545
(*´Д`*)試したよ。出来たよ。
戻り値欲しいときは全部モーダルで開いてたんだが、これで世界が変わりそうだぜ!
AddHandlerもよく使うのにこういうことに頭回らなかったなー。

547:デフォルトの名無しさん
07/08/07 10:26:27
AddHandlerって、イベントの呼び出しスタックに関数を登録するイメージだから。
イベント発生時に、そのスタックのDelegateを順次呼び出し。
まあ、注意点は順序でしょうか?基本は登録順だから(確か変えられたけど)

通信系とか、その他でも、この使い方知れば、関連フォーム、クラスにブロードキャスト可能。
フォームだけじゃないことも大事なところ。

548:デフォルトの名無しさん
07/08/07 12:11:49
>>538
>>542
×モーダレス
○モードレス

>>544
そりゃ、
 ・ 一つのイベントハンドラを複数のコントロールで共用したいとき
 ・ 動的に生成されるコントロールのイベントを捉まえたいとき
なんかのために、イベントハンドラを動的に設定するためのもんなんだから
出来なきゃ困る。

549:デフォルトの名無しさん
07/08/07 12:27:41
>>548
よくある勘違いだが、それは「モードレス」っていう表記の方が間違ってるんだよ。
モーダル ⇔ モーダレスという表記が正しい。


550:デフォルトの名無しさん
07/08/07 12:34:47
かたかな表記はどっちにしても間違いってのが、ゼミの教授のお言葉。


551:デフォルトの名無しさん
07/08/07 12:38:20
>>549
いや、modeの語尾変化でmodalとmodelessだからモーダルとモードレスだろw

552:デフォルトの名無しさん
07/08/07 12:44:13
そりゃmodeの音が「モード」だという思い込みを前提としているからそういう判断になる

553:デフォルトの名無しさん
07/08/07 12:44:21
こまかいなぁ

554:デフォルトの名無しさん
07/08/07 12:54:36
くだんね


555:デフォルトの名無しさん
07/08/07 12:59:05
modeの発音記号は[moud]で一番近い日本語表記はモードですぅ〜><

ってかくだらんことで意地張ってレス消費させるなw

556:デフォルトの名無しさん
07/08/07 12:59:42
>>555
オマエモナー

557:デフォルトの名無しさん
07/08/07 13:01:06
>>552はi mode も アイモーダとか発音してるんだぜ(´ー`)

558:デフォルトの名無しさん
07/08/07 13:02:01
↓下らん流れを変える、質問よろ。

559:デフォルトの名無しさん
07/08/07 13:04:17
まぁ表記がどっちだろうと構わないが、一般的なのはどっちなのか
グーグル先生に聞いてみた。あとはご自由に。

モーダレス 1,470 件
モードレス 29,500 件

560:デフォルトの名無しさん
07/08/07 13:52:39
初心者です、2点わからないことがあるので教えてください。
1点目が、データグリッド内に指定した行数だけデータを表示させる方法。

2点目が、ページング機能のプログラムの書き方。
この二つの方法をご教授ください。

561:デフォルトの名無しさん
07/08/07 13:59:41
>>560
環境も書いてくれ。
VS2005とか。

562:デフォルトの名無しさん
07/08/07 14:04:31
すいません
書き忘れです。
.net2003でmysql、odbc使ってます。


563:531
07/08/07 16:47:33
すまんが、>531にもなにかヒントちょうだい

564:デフォルトの名無しさん
07/08/07 18:34:12
>>563
答えが返ってこないのは、質問が漠然としているからでもあると思うよ。
君は読み手のESP能力を無意識に期待してるんだよ。
なぜ読み手の立場にたった文章が書けない?

例えばこのスレの標準的な読み手ならこう思うんじゃないか?
-------------------------------------------------------------
結局こやつは何がしたいのだ?

パネルやラベルを任意の位置に表示すれば済むように感じるのだが、
それではダメなのだろうか?
ダメだとしたら何故?

というか、なぜこやつは読み手にエスパーであることを要求して平気なのだ?
-------------------------------------------------------------


565:デフォルトの名無しさん
07/08/07 19:50:10
つか、「タスクが移動してしまい」の意味が解らん…

566:デフォルトの名無しさん
07/08/07 21:27:51
>>563
ShowInTaskbarをFalseにする。


567:デフォルトの名無しさん
07/08/07 22:01:42

Form を画面の中央に配置する場合、最も普通に行う方法はどのようなものでしょう?
VB6の時代には、Screenのサイズから割り出してTopとLeftを指定しました。
そうではなく、何か簡単な一発メソッドか何かで指定可能でしょうか。
また、画面が複数ある場合にも対応可能でしょうか。
なにとぞよろしくお願いします。

568:デフォルトの名無しさん
07/08/07 22:04:25
StartPosition

569:567
07/08/07 22:16:59
>>568

おお、助かります。やはりなんでも用意されているのですね!!
ありがとうございました!!


570:デフォルトの名無しさん
07/08/07 22:25:15
>>563
率直に言わせてもらう。





意味がわからん。

571:デフォルトの名無しさん
07/08/08 09:27:52
>>563
パネルとかを動的に生成して、任意の位置に最全面で表示させればええんじゃない?
試してないけど。

572:デフォルトの名無しさん
07/08/08 12:02:16
>>560
SQL文で必要な行数を持ってこいとすれば解決するのでは?
そうすればグリッドはただ表示するだけなんだし。

573:デフォルトの名無しさん
07/08/08 13:34:45

すみません、ボタン・コントロールの ForeColor に教えてください。
このプロパティを標準以外に変更しようとしてBlueなどを代入してみたのですが
変更できませんでした。これは単純には変更できないとしますと、
何か別のプロパティを先に変更しておく必要があるでしょうか。
その場合何を変更しておけばよいでしょう?よろしくお願いします。


574:573
07/08/08 13:36:02
>>573 すみません間違えました。訂正します。

>ForeColor に教えてください -> ForeColor について教えてください


575:デフォルトの名無しさん
07/08/08 13:40:03
.ForeColor = Color.Blueで効くはずだけど?
VisualStyleが腐ってるんじゃね?

576:デフォルトの名無しさん
07/08/08 13:57:44
>>573
FlatStyleプロパティがSystemになってるとForeColorの設定いじっても変わらない。

577:デフォルトの名無しさん
07/08/08 14:53:25
すみません、質問させて下さい。
DataGridViewにて、CellPaintingイベントで、セルの中身を自分で描画しようと思ったのですが、

Dim rect As New Rectangle(e.ClipBounds.X, e.CellBounds.Y, e.CellBounds.Width / 2, e.CellBounds.Height)
e.Paint(rect, DataGridViewPaintParts.Background + DataGridViewPaintParts.Border)
e.Handled = True

イベント内に以上のように書いた場合、セルの左半分だけ背景とボーダーが描画されると思ったのですが、
実際実行してみたところ、セル全体に背景とボーダーが描画されてしまいました。
rectを(1,1,1,1)なんて指定してみたところで、関係なくセルの全体が描画されているようでした。

これってrectで範囲指定ができないバグなんでしょうか?
それとも自分の書き方が間違ってるんですかね?

578:デフォルトの名無しさん
07/08/08 16:18:26
>>576
FlatStyle プロパティを System にしていました。><

むかし VB6 のときは、GraphicStyle だとかにすると色関係が
帰られたかと思いましたが、VB.NETではどうやっても無理ということ
なのでしょうか?

>>575
VisualStyle はググッたのですが、もしかすると WinXpの
ということでしょうか。


579:デフォルトの名無しさん
07/08/08 16:22:11
>>578

FlatStyle プロパティを System にしていましたのは、
Flat ですと見た目のインパクトが弱いためで、
その形が使いからでした・・・


580:デフォルトの名無しさん
07/08/08 16:26:56
>>579
Standardじゃだめ?

581:デフォルトの名無しさん
07/08/08 16:59:37
>>580

なるほどー。

ただやってみたのですが、BackColor が 
System のときと同じように、立体的なテキスタイルになる
とうれしいのですが、可能でしょうか?


582:デフォルトの名無しさん
07/08/08 17:54:41
自分の環境だとStandardとSystemの外観がまったく一緒なんだが、違うのかな…?

583:デフォルトの名無しさん
07/08/08 18:18:15
>>582

そうなのでした、これはもしかしたら、WinXPの設定なのですかね・・・。


584:デフォルトの名無しさん
07/08/08 18:19:37
質問者はOSとIDEの環境くらい書いておくれ。

585:デフォルトの名無しさん
07/08/08 20:03:51
>>584

すみません、OS は WindowsXp で、IDE は VS2005Pro でした。
そういえば、Xp は >>575さんの VisualStyle がありました、
これで変更してるから表示が変わるのですね。


586:デフォルトの名無しさん
07/08/08 23:32:38
Delegate ステートメント
URLリンク(msdn2.microsoft.com)(VS.80).aspx

Delegateについて勉強中なのですが教えてください。VB2005EEです。
上記の使用例で書かれているコードについてなのですが
Delegateがどのように役立っているかが全くわかりません。

Protected Sub Test()
AddNumbers(5, 3)
SubtractNumbers(9, 3)
End Sub

と書いたほうが良い様に思うのですが。

587:デフォルトの名無しさん
07/08/08 23:34:27
@ITのデリゲート入門でも読めば?
あんまりいい記事じゃないけど、デリゲートの存在意義は馬鹿じゃなきゃ理解できるはず

588:デフォルトの名無しさん
07/08/08 23:36:25
お前はいまとどめをさしてしまった…



589:デフォルトの名無しさん
07/08/08 23:37:49
イベントとか
コレクションのSortとか


590:586
07/08/09 01:09:19
>>587,>>589
回答ありがとうございます。何となくわかった気がします。

591:デフォルトの名無しさん
07/08/09 11:30:48
Windowsアプリで質問です。
ユーザーコントロールを作成し中にLabelとPictureBoxを配置しました。
このユーザーコントロールを貼り付けたフォームで、このユーザーコントロールのMouseHoverイベントを
使用したいのですがLabelとPictureBox以外の領域でしかMouseHoverイベントが発生しません。
このユーザーコントロール中(LabelとPictureBoxとそれ以外の領域全て)でMouseHoverイベントを
発生させるにはどのようにすれば良いでしょうか。

592:デフォルトの名無しさん
07/08/09 11:44:20
Private Sub UserControl1_MouseHover()
Private Sub Label1_MouseHover()
Private Sub PictureBox1_MouseHover()

でいいんじゃね?(未確認)

593:デフォルトの名無しさん
07/08/09 12:27:15
>>591
しばらく前にほとんど同じ質問があったなあ。
過去ログ見れば参考になるサンプルコードが見つかるはず。(確か俺が書いた)

まあ要は、自分の内部コントロールのイベントを拾って、
あたかも自分のイベントのように偽装(っていってもOnXXXX呼ぶだけ)すればいいだけだよ

594:デフォルトの名無しさん
07/08/09 12:30:23
>>592
解答ありがとうございます。
その記述をフォーム側に書くと言うことはLabelとPictureBoxをパブリックなプロパティにするということですね。
この場合、ユーザーコントロール内のマウスの位置によって3種類のMouseHoverイベントが起こるのが
ちょっとまずいです。
ユーザーコントロール内でマウスを動かしているだけで何度もイベントが発生するからです。
イメージとしてはユーザーコントロールと同じ大きさの透明のコントロールを最前面に配置して
その透明のコントロールのMouseHoverイベントを使用したい感じです。

595:デフォルトの名無しさん
07/08/09 12:32:23
>>593
ありがとうございます。
過去ログを探してみます。
よろしければ検索のためのキーワードみたいなものを教えてもらえないでしょうか。

596:デフォルトの名無しさん
07/08/09 12:41:55
>>593
内部のイベントを全て自作のイベント(MouseHoverExみたいな)にまとめて外部に公開するってことですかね。
そうするとやっぱりそのコントロール内でそれぞれのコントロールにマウスを合わせる度に同じイベントが発生
してしまいます。
Clickイベントなどはこの方法で実装しています。

597:デフォルトの名無しさん
07/08/09 12:42:35
>>595
一個前のスレの363以降だね。
っていうか、593のヒントから自分でゼロから考えた方が楽しいぞ

598:デフォルトの名無しさん
07/08/09 12:43:31
>>594
じゃあさ、MouseHoverイベントを使って
何をやりたいのかも書いておいたほうが回答もらいやすいぞ。
君がこれだ!って思う方法が可能とは限らないんだから。

599:デフォルトの名無しさん
07/08/09 12:57:13
>>598
やりたいことはメニュー型のランチャーのサブメニュー項目のようなコントロールです。
使ってない人にはさっぱりかもしれませんがメニュー型ランチャーのOrchisでいう
サブメニューのような感じです。
画像とテキストを含んだユーザーコントロールにMouseHoverすると新しいFormを
Showすると言うような動きがしたいです。

>>597
了解です。
しばらくちゃんと自分で考えてみます。


600:デフォルトの名無しさん
07/08/10 18:19:38
vb2003でGraphicsオブジェクトを使用して画像を合成しています。

単純に合成はできるのですが、乗算で合成したいなぁ、と思って
Graphics.MultiplyTransformなるメソッドを使用してみたのですが
乗算になっているようには見えません。

Photoshopでレイヤーを乗算にして描画される、あのイメージだったんですが
このメソッドで良かったのでしょうか?


g.DrawImage(imgA, rect)

Dim transformMatrix AS New System.Drawing.Drawing2D.Matrix
transformMatrix.Translate(1.0F, 1.0F)
g.MultiplyTransform(transformMatrix, System.Drawing.Drawing2D.MatrixOrder.Append)

g.DrawImage(imgB, rect)


こんな感じでやってます。

601:デフォルトの名無しさん
07/08/10 19:35:40
ドキュメント読めばわかるが、MultiplyTransformはワールド変換のためのメソッド。
つまり座標変換。

System.Drawing.Graphicsというかその基になってるGDI+には色合成処理は用意されてない。
アルファブレンドはできるけど。
ので頑張って自前で実装するしかない。探せば見つかるかもしれないけど。

URLリンク(blog.livedoor.jp)
DelphiのコードだけどGDI+の乗算カラーフィルタのサンプルを見つけた。
参考になるかもしれない。

// そういえばPaint.NETは今どうなってんだろ。

602:デフォルトの名無しさん
07/08/10 19:42:26
そりは変換行列の「積」なんでは?w

レタッチソフトの「乗算」の処理内容を具体的に知らないので抽象的なアドバイスになって
申し訳ないけど、たぶんカラー行列を使うんじゃないかな?(DrawImageのオーバーロードを見るべし)

603:デフォルトの名無しさん
07/08/10 22:38:02
IME制御の質問です

アルファベットしか入力し得ないテキストフィールドなので、そのフィールドでの
入力時はIMEの変換モードを英数に固定しようとして

hWnd = TextBox1.Handle
hIMC = ImmGetContext(hWnd)
If hIMC <> 0 Then
ImmSetConversionStatus(hIMC, IME_CMODE_ALPHANUMERIC, IME_SMODE_NONE)
ImmReleaseContext(hWnd, hIMC)
End If

のようなことをFormのActivate時に実行してみたのですが、指定したフィールドだけでなく、
全ての項目にこの設定が適用されてしまいます。

その項目だけに効果を与えるにはどうすればよいのでしょうか?

604:デフォルトの名無しさん
07/08/10 22:50:04
>>603
MSDNライブラリのTextBoxのメンバ一覧を穴があくまでじっくり読む

605:デフォルトの名無しさん
07/08/10 23:09:33
>>604
お返事ありがとうございます。
ただ、もし ImeMode の事を言われているのであれば、それが使えない環境なので・・・・・・。
そうでないのであれば、ちょっと判りませんでした。


606:デフォルトの名無しさん
07/08/11 00:47:24
>>605
それどういう環境?

607:デフォルトの名無しさん
07/08/11 00:59:18
.NET Compact

608:デフォルトの名無しさん
07/08/11 11:37:08

すみません、教えてください。
Labelコントロールにおいて、現れている文字列を、マウスの操作でクリップボードに
コピーすることは普通はできないと思いますが、もしかしてそういうことができるように
するためのプロパティとかは存在しないでしょうか?

どうしても不可能な場合はボタンかまたはコンテキストメニューでもつけて
クリップボードにコピーするなどは考えられるのですが、テキストボックスと同様に
手軽に使えて、しかも文字列が変更されてしまわないものが望みです。

ちょうど、プロパティ・ダイアログの中のURLなどがそのようにできるものでした。
同様の機能を実現するのには特別なコントロールを自作する必要があるでしょうか?
すみませんがよろしくお願いします。


609:デフォルトの名無しさん
07/08/11 11:47:05
TextBoxでReadOnlyにしたらいいんでないの?
あとはボーダーとか消してラベルっぽくすれば。


610:デフォルトの名無しさん
07/08/11 12:26:22
>>609

おお、TextBox に ReadOnly というプロパティがあったのですね!
わかりました、ありがとうございます!
いろいろ新しくなっているのですね!助かりました。



611:デフォルトの名無しさん
07/08/11 12:33:18
おい大昔からなかったかい?


612:デフォルトの名無しさん
07/08/11 12:43:08
板違いかもしれません。ですが質問します。
C#.NETとVB.NETの違いって何ですか?

調べてみると、(触り程度)
C#.NETにメモリーを切る概念が無くなったと。
だったら、方言とコンパイルの速度だけの違いになりますか?

613:デフォルトの名無しさん
07/08/11 13:56:52
ハァ?

614:デフォルトの名無しさん
07/08/11 13:59:46
メモリー切る機能ってなんだよ

615:デフォルトの名無しさん
07/08/11 14:26:34
俺のおじいちゃんがメモリ確保することを「切る」と言っていたが
21世紀にその言葉を聞けるとは思わなんだ

616:デフォルトの名無しさん
07/08/11 17:57:37
万能動詞、切る
何が何でも切るって言うんだぜ?

617:デフォルトの名無しさん
07/08/12 10:06:08
コンソールアプリケーションの質問です

ReadLineなどで、画面から読み込む文字列を
[******]のようにマスクして、読み込む方法はあるのでしょうか?

すみませんが、よろしくお願いします

618:デフォルトの名無しさん
07/08/12 13:05:52
>>612
VB.NETはリフレクションを使用するコードが勝手に生成されて凄く遅くなることがある
回避はできるからそれさえ注意すれば一緒

619:デフォルトの名無しさん
07/08/13 09:08:53
言語の違いなど飾りです。
PGさんにはそれがわからんとです。



620:デフォルトの名無しさん
07/08/13 10:44:01
つまらん

621:デフォルトの名無しさん
07/08/13 14:16:59
Graphicsクラスで1ピクセルの点をPenを使って書く時って
Graphics.DrawLine(Pens.Black, New PointF(10, 10), New PointF(10.1, 10.1))
のようにPointF使うしかないの?

622:デフォルトの名無しさん
07/08/13 15:21:56
もう少しものの聞き方を勉強しなおした方がいいよ。

623:621
07/08/13 15:33:05
>>622
ごめんなさい。

624:デフォルトの名無しさん
07/08/13 16:24:46
DrawLineはPointFを引数にするものもあるけど、Singleを引数にしているものもあるだろ?
あとなんで1ピクセルが0.1だと思ってるんだ?

625:621
07/08/13 17:38:46
>>624
Graphics.DrawLine(Pens.Black, 10, 10, 10, 10)
だと何も描かれないですし、
Graphics.DrawLine(Pens.Black, 10, 10, 11, 11)

Graphics.DrawLine(Pens.Black, 10, 10, 11, 10)
だと2ピクセル分描かれます。
10.1を指定するときれいに1ピクセル分描かれるのですが。
何かとんでもないトコを見落としているのかなぁ。
もうちょっと調べてみます。

626:デフォルトの名無しさん
07/08/13 17:48:01
ピクセルの操作はBitmap.SetPixel/GetPixelで。
短いラインがどのなんドットなるかなんて、
ディスプレイディバイスの種類が違ったり、
スケールとか座標系いじったりしたら意味ないだろ。

627:デフォルトの名無しさん
07/08/13 18:05:15
>10.1を指定するときれいに1ピクセル分描かれるのですが。
あほすぎて話にならん。
そんなのディスプレイの都合上、1ピクセル分の直線が引かれているように見えるだけだろ。
プログラム上では0.1ピクセルの直線を引いてる。
結果さえよければどうでもいいのか?

説明が面倒なので、答えを書く。
お前が書きたい1ピクセルの点というのは、数学的に言えば「一辺1ピクセルの面」だ。
面を書くのはDrawLineではない。

e.Graphics.FillRectangle(Brushes.Black, 10, 10, 1, 1)

628:デフォルトの名無しさん
07/08/13 18:07:38
>>626
.netじゃ座標や幅の基本単位がピクセルだから関係ないんじゃね?
twipならディスプレイの設定で変化してくるが。

629:621
07/08/13 18:17:21
>>627
もちろんFillRectangleやSetPixelを使うことは知っています。
1ピクセルの点をPenを使って書く時に10.1のように
書くしかないのですかという質問なのですが。


630:デフォルトの名無しさん
07/08/13 18:17:57

.NET2.0用に作成したアプリケーションは、3.0しかインストールしていないWindowsでは
動作しないのでしょうか?


631:デフォルトの名無しさん
07/08/13 18:24:08
ポカーン

632:デフォルトの名無しさん
07/08/13 18:24:52
>>629
1x1のビットマップを作成してDrawImageという手もあるけど
それならまだ10.1の方がスマートな気がする

>>630
3.0は、2.0に一切手を入れずに新機能を追加しただけのもの
MSを信じるなら全く問題ないはず

633:デフォルトの名無しさん
07/08/13 19:13:37
>>629
だからよ、お前はDrawLineの仕様がわかってないって言われてるの。
DrawLineはあくまで座標ペアで指定された2つの点を結ぶ直線を描画するんだ。
「点」ってのは直線じゃないだろう?
Graphics.DrawLine(Pens.Black, New PointF(10, 10), New PointF(10.1, 10.1))
お前のこれは、「見かけ上」1ピクセルの点に見えるだけで、プログラム上じゃ(10, 10)to(10.1, 10.1)の直線なワケ。
お前が厳密に1ピクセルの点を書きたいわけじゃなく、ただ見かけだけそうなってりゃいいや、っていうならそれでいいよ。
ただ、そんなのに甘んじるようなお前は果てしなくセンスが無いってだけだ。

634:デフォルトの名無しさん
07/08/13 19:25:55
Penで点を描くのは確かにおかしいかも

635:621
07/08/13 21:25:54
>>633
すみません。怒らせちゃって。
確かにおかしいんですよ。
僕も通常点を描くだけならFillRectangleで済ますんですが
ただ描画するのは違うクラスでこのクラスはもう変更きかなくて
Penと座標しか指定できないので
困ってたんです。
で、やっとこさ10.1というのを発見してあなたの言う見かけだけ
はできたのですが、他に何かないかなと思った次第でして。
あなたと私はたぶん似ているんだと思います。
私もDrawLineの仕様を言いたいですが、
Penと座標しか指定できない場合、10.1と指定するのことに
甘んじたくなくて質問したんです。
あなたも同じ状況なら他になにかないか探すと思います。


636:デフォルトの名無しさん
07/08/13 21:31:33
そもそもPenと座標しか指定できないのになんで他の方法を探してたの?

637:621
07/08/13 21:32:58
>>632
ありがとうございます。
少し気が楽になりました。

638:621
07/08/13 21:36:12
>>636
他の方法というのは
例えば独自のPenを作成するとか
Penのプロパティにそういうのが指定できるとか
もしあったらと思いまして。
ですのでPenを使って何かないのかなと質問しました。



次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4733日前に更新/252 KB
担当:undef