したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | メール | |

テキストボックスやボタンの3D表示ができない

1:2010/01/23(土) 12:53:02
独学で勉強中で、参考にさせていただき重宝させていただいています。

vb.net Express版を使用しています。
vb6を少しだけ使っていたのですが、vb.netへの移行の勉強のためにtextboxやlabelなどをコードの中で設置しました。
表示されたボックス等には、borderstyle で fixed3d の設定を

TextBoxes(i, j).BorderStyle = BorderStyle.Fixed3D

のように行っています。
ところが、実行しても、3D表示になっていません。試しにデザイナーでボタンやテキストボックスを設置してみましたが、プロパティで 3D の設定になっているのですが同様に 3D 表示がされていないようです。
ボーダー線の線幅などの設定があるのかもしれないといろいろ探しましたが、テキストボックスにはどうもそのようなプロパティがないようです。
デザイナーで作成しなかったために何か設定すべきものが抜けているのではないかと想像してみましたがわかりません。

現在作成中のプログラムの前に同様のプログラムを試作していたのですが、そちらではちゃんと 3D 表示されています。
# コードの整理をしようとしたときに、古いバージョンのソースファイルは誤って消してしまいました。
記憶による違いは、最初の版では当初はデザイナーを使ってボタンを設置したりしていましたが、今回の版では極力コードから設置しています。が、全くデザイナーから設置していないわけでもなく、フォームによってはボタンをデザイナーで設置しただけのフォームもあり、試しにそこにテキストボックスをデザイナーから設置しても、ボタン、テキストボックスともに 3D 表示になっていません。

機能上は問題ないのですが、vb.net の練習上、思いどおりにできないことは気になります。何かご助言いただけますでしょうか。

2igoten:2010/01/23(土) 14:59:53
デザイナーでも3Dにならないのであれば、VBの問題というより
Windowsんの問題かもしれません。
ほかのプロパティたとえば「FixedSingle」に設定すると
ちゃんと線で縁取りされますか。

3:2010/01/23(土) 23:36:56
アドバイス、ありがとうございます。

プロパティを、none、fixedSingle、fixed3D と変えて比較しました。
そうすると、確かに moneではデザイナーでも実行時でも線はなくなり、singleでははっきりした細い黒線、3Dで少し表示は変わっているようです。
その意味では、3D表示ができていないというのは私の間違いのようです、すみませんでした。

ただ、同じ3Dの表示でも、作る環境、作り方によって3Dの表示の見え方が変わってしまうものなのでしょうか。
今回、3Dが表示されていないと思ったプログラムでは、ボタンでは3D独特の右下方向への黒色の陰、テキストボックスでは左、上の枠の黒い陰と右、下の白いハイライトが表示されていません。
今回のご指摘を受けて見比べてみると、たしかに Single の表示に比べると、3Dの方には少し白っぽい縁取りがありましたが、ボタンでは四方の枠線の内側に白い縁、テキストボックスでは枠線が青っぽく淡い色に変化しているだけです。

同じマシン上で、違った環境で作成した場合に、このように表示も変わってしまうものなのでしょうか。
それとも、陰の強弱(色?幅?)を指定するプロパティがあるのでしょうか。
ちなみに、3Dがきっちり表示されるプログラムは、XP下で開発しましたが、ことなった二台のマシンで開発作業を行いました。
今回のプログラムも、基本的には同じ二台のマシンで作成を行ってはいるのですが。

4igoten:2010/01/24(日) 18:47:53
多分これは.NETで変わったというよりOSの仕様だと
思うんですが、TextBoxの3Dの線が確かに以前より薄くしかも
影が細くなってる気がします。
影を太くするとテキストの文字が影の部分と重なって醜くなりので
細くしたと思いますが、慣れると現在の方が使いやすい気がします。

5:2010/01/24(日) 23:29:09
たいへんありがとうございます。

一度昔の VB6 と比べてみたいと思います。
追ってご報告差し上げます。

6:2010/01/25(月) 09:20:47
大変お手数をおかけいたしました。

VB6と VB.net を比較いたしました。
教えていただいたとおりに 2008の方が穏やかな 3D 表現に変わっているようです。特にテキストボックスでは、ほとんど3Dの雰囲気はなくなっていたのですね。

vb6からVB.netへの変換ツールを用いた場合は、vb6の3D効果が引き継がれているように思います。思い出してみると、3Dがはっきり表示されるプログラムは、VB6で作り始めて途中でvb.netExpress版に付属コンバーターで変換しました。変換した後もライブラリィも元のvb6をつかっているということなのでしょうか。なかなか難しいものですね。

どうも大変ありがとうございました。
今後も参考にさせていただきます。
よろしくお願いいたします。


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板