tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルタブコントロールにて
記事No6478
投稿日: 2007/10/29(Mon) 20:17
投稿者泣き寝入り
こんばんは。

タブコントロールのページ選択がうまくいきません。
メニューのクリックイベントにて、Me.tab1page2.Select()のように指定しても何も動かなくて困っています。やりたいことは、タブコントロールに3つほどの項目があり、メニューの選択によってタブのページを切り替えるのですが、セレクトにて切り替えができません。

メニュー1のクリックイベントにて
Me.tab1page1.Select()
メニュー2のクリックイベントにて
Me.tab1page2.Select()
メニュー3のクリックイベントにて
Me.tab1page3.Select()

いずれも変化なしの状態です。
扱い方が間違っているのでしょうか?
「タブ」で掲示板より検索してみましたが見あたらないので、よろしくお願いします。

[ツリー表示へ]
タイトル自己解決
記事No6479
投稿日: 2007/10/29(Mon) 20:42
投稿者泣き寝入り
自己解決しました。

Me.tab1.SelectedTab = tab1page2

このような感じでできました。
Select()は何の意味があって存在するのかちょっと意味不ですけど。
設定、取得両方いけるような事だったのですが、実際には使えなかったのにはショックでした。うーん、マイクロソフトの製品ってこのようなのが多いですよね。

[ツリー表示へ]
タイトルRe: 自己解決
記事No6480
投稿日: 2007/10/29(Mon) 22:15
投稿者魔界の仮面弁士
> Me.tab1.SelectedTab = tab1page2

TabControl の SelectedTab プロパティ以外にも、
TabControl の SelectedIndex プロパティ、
TabControl の SelectTab メソッドや
TabControl の DeselectTab メソッドでも切り替わりますね。


> Select()は何の意味があって存在するのかちょっと意味不ですけど。
Select メソッドは、TabPage 自身によって実装されたものではなく、
そのベースとなる Control クラスのメソッドです。

ですから、どのようなコントロールであっても、Select メソッドは存在しています。
(Label にも PictureBox にも Form にも TabPage にも TabControl にもあります)


もしそれが動作しないメソッドであれば、Select メソッドを非表示扱いにするという
設計にもできたのでしょうが、実際、Select を呼び出せば、Me.ActiveControl は
切り替わる(つまり、動作している)ので、隠さずにそのままにしているのでしょう。


> うーん、マイクロソフトの製品ってこのようなのが多いですよね。
でもまぁ、ヘルプの TabControl/TabPage の解説の部分では、タブの切り替え方法も
明記しているわけですし、最低限の責務は果たしているんじゃないですかね。


もし、クラスの実装方法やヘルプの説明不足などによって困っている点があれば、
「これだとこういう問題があるので、ここをこうするべきでは無いのか?」の意見とともに、
具体的にフィードバックしてみては如何でしょう。

https://connect.microsoft.com/VisualStudio/feedback/
http://forums.microsoft.com/MSDN-JA/default.aspx?ForumGroupID=45&SiteID=7

[ツリー表示へ]
タイトルRe^2: 自己解決
記事No6481
投稿日: 2007/10/29(Mon) 23:44
投稿者泣き寝入り
魔界の仮面弁士さんこんばんは!

> TabControl の SelectedTab プロパティ以外にも、
> TabControl の SelectedIndex プロパティ、
> TabControl の SelectTab メソッドや
> TabControl の DeselectTab メソッドでも切り替わりますね。
これらでも同じような事ができるのですね!
勉強になりました!


> もしそれが動作しないメソッドであれば、Select メソッドを非表示扱いにするという
> 設計にもできたのでしょうが、実際、Select を呼び出せば、Me.ActiveControl は
> 切り替わる(つまり、動作している)ので、隠さずにそのままにしているのでしょう。
そういうことだったのですか・・・。
どうも、自分的にはセレクトやフォーカスが納得できない状況で。
少しずつ勉強していきます!

> > うーん、マイクロソフトの製品ってこのようなのが多いですよね。
> でもまぁ、ヘルプの TabControl/TabPage の解説の部分では、タブの切り替え方法も
> 明記しているわけですし、最低限の責務は果たしているんじゃないですかね。
正直、自分はあまりヘルプ機能は使ってません^^;
ヘルプを見る方がかえって初心者には混乱してしまうケースが多くて。
このようなサイトなどの掲示板やサンプルを見たほうが結構理解できたりします。
スキルが低い自分にも色々と原因もあるのですけどね^^;

> 具体的にフィードバックしてみては如何でしょう。
確かにその通りですよね!
ここで愚痴っても仕方ないですし(大汗

PS
魔界の仮面弁士さんは凄いスキルですよね!
色々な掲示板などを覗いて凄いなぁって思います。
自分には才能がないのでプログラミングは挫折しないで出来るか不安です。
最初は誰でも初心者であったのでしょうけど、それにしても凄い!
どうすればそのようにスキルアップ出来るのか知りたいくらいです^^

今後ともよろしくです!
今日はどうも有り難うございました!!

[ツリー表示へ]
タイトルRe^3: 自己解決
記事No6482
投稿日: 2007/10/30(Tue) 12:59
投稿者魔界の仮面弁士
> > TabControl の SelectedTab プロパティ以外にも、
> > TabControl の SelectedIndex プロパティ、
> > TabControl の SelectTab メソッドや
> > TabControl の DeselectTab メソッドでも切り替わりますね。
> これらでも同じような事ができるのですね!

で、それらについては、
http://msdn2.microsoft.com/ja-jp/library/system.windows.forms.tabcontrol%28VS.80%29.aspx
の「解説」に書かれていたというわけで。(^^;

> 勉強になりました!
ついでにこの辺りにも目を通しておくと、今後の役に立つかも。
http://msdn2.microsoft.com/ja-jp/library/4akwf92a%28VS.80%29.aspx


> 正直、自分はあまりヘルプ機能は使ってません^^;
使いましょう。というよりも慣れましょう、是非とも。

どうしても表現的にわかりにく部分も含まれてはいるでしょうが、一方で、
チュートリアル形式の手順書や、サンプルなども豊富に含まれているので、
使わないのは勿体無いですよ。

始めのうちは、ヘルプを読めとは言いません。ヘルプを見るだけでもよいでしょう。
(理解するのを後回しにして、意味不明のまま眺めておくだけでも、蓄積すれば効果が出ます)


あるいはサンプルを見ながら、そこに書かれた個々のコードの意味をヘルプで追うのも有効です。
ヘルプそのものを理解するのが無理なら、逆に「理解しているコード」をもとにして、
ヘルプの内容を解析・理解していくという手法です。


> このようなサイトなどの掲示板やサンプルを見たほうが結構理解できたりします。
はじめはサンプルありきの開発スタイルで良いと思います。
しかし終始それだけというわけにもいきませんよね。

ヘルプを読めないままで居ると、たとえ機能として用意してあったとしても、
「サンプルが無いと開発できない」ことになりますので、スキルアップは遠のきますし。


> どうすればそのようにスキルアップ出来るのか知りたいくらいです^^
幾つかの要因があるとは思いますが、端的に言えば、『Try and Error』と『調査』の繰り返しです。

小学生時代には、言語に依存しない「プログラムのロジック」関係の本を読み漁っていましたし、
小中学生時代は、(VBの前身となる)BASIC 言語でコーディングして遊んでいたので、そのあたりの
積み重ねも大きく作用しているとは思います。

ただ、VB の知識に関して言えば、急激にスキルアップしたと感じたのは、
 ・(自分にとって)良い資料を見つけられた時
 ・質問に対して、自分なりの「回答」を繰り返す仮定
ですね。

私にとっては、前者は「VB Magazine(雑誌)」と「VB増強作戦(サイト)」がその架け橋でした。
これらを読んだ後では、ヘルプの理解度も少なからず向上した気がします。

一方後者は、幾つかの Mailing List や掲示板への参加がこれにあたります。
毎週20〜50投稿ぐらいのペースで「回答」を続けていました。



まぁ一言でいえば、「好きこそものの上手なれ」ということで。(^^;

[ツリー表示へ]