tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルVB2005のダイアログについて
記事No6074
投稿日: 2007/08/09(Thu) 18:08
投稿者皐月
こんにちは、いつもお世話になっています。
VB6.0からVB2005への移行作業を行っています。

VB6.0で作成したプログラムをVB2005にアップグレードをしたときにコモンダイアログのコントロールが

CommonDialog1Open
CommonDialog2Save
CommonDialog3Print
CommonDialog4Font
CommonDialog5Color

のように変化しました。プログラムを実行するときちんと動作するようだったので最初は特に気にかけていなかったのですが、コモンダイアログを追加する必要ができたので、同じようにCommonDialog6Openのように追加しようとしてもコントロールが見当たりません。
似たようなものにOpenFileDialogというコントロールがありますが、貼り付けたときに名前がOpenFileDialog1となりますので別のものなのでしょうか?
コモンダイアログはVB.NETに移行したときに変化したようですし、もしやこちらはレガシ関数の扱いになってしまったのでしょうか?
宜しくお願い致します。

[ツリー表示へ]
タイトルRe: VB2005のダイアログについて
記事No6075
投稿日: 2007/08/09(Thu) 18:47
投稿者大吉末吉
> 似たようなものにOpenFileDialogというコントロールがありますが、貼り付けたときに名前がOpenFileDialog1となりますので別のものなのでしょうか?

同じものです。

「コントロールのクラス名(コントロールの種類)」と配置したコントロールの名前の間に、直接の関連はありません。

例えば、
「OpenFileDialogコントロール(クラス)」を配置する際、
「CommonDialog1Open」と言う名前をつけても何の問題ありません。


分かり易さを考えて、「クラス名+番号」を名前の初期値にしているだけです。

#極論「テキストボックス」に「button1」と言う名前をつけても
#プログラムの実行には何の問題もありません。
#分かりにくくなるので、普通、そういうことはやらないだけの事です。


アップグレード時には、「元のコントロール名がなんだったか」に主眼を置いて
(つまり極力元のコントロール名と同じ名前)を付けてくれているんでしょうね。

#例えばVB6の「コマンドボタン」は既定のコントロール名は「Command1」とかですよね?
#該当するVB2005のクラス名は「Button」ですが・・・
#アップグレードしても「Button1」には成らず、「Command1」のままですよね。

[ツリー表示へ]
タイトルRe^2: VB2005のダイアログについて
記事No6076
投稿日: 2007/08/10(Fri) 08:48
投稿者皐月
大吉末吉さんお返事ありがとうございます。

今プロパティを確認したところ、まったく同じプロパティを
持っていることを確認しました。ありがとうございました。

[ツリー表示へ]
タイトルRe^3: VB2005のダイアログについて
記事No6079
投稿日: 2007/08/10(Fri) 10:17
投稿者大吉末吉
> 今プロパティを確認したところ、まったく同じプロパティを
> 持っていることを確認しました。

もっと簡単な確認方法。
#VB6でも同じ方法が使えるはずです。


プロパティ画面の上の部分に、コントロールやフォームを選択するプルダウンがありますよね?
プロパティ画面の横幅を広くして見てください。

そうすると、太字でコントロール名(例えば「CommonDialog1Open」)が表示されている後に、
クラス名(例えば、「System.Windows.Forms.OpenFileDialog」)が表示されていると思います。

コレを見えば、どういう種類のコントロールか分かります。

[ツリー表示へ]
タイトルRe^4: VB2005のダイアログについて
記事No6097
投稿日: 2007/08/17(Fri) 16:34
投稿者皐月
返信が遅くなってしまったので、こちらのメッセージを見て頂けるか少し心配です。
お返事が遅くなってしまい申し訳ありません。
親切に教えていただきありがとうございます。

[ツリー表示へ]