C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[17]: タブブラウザ


(過去ログ 57 を表示中)

[トピック内 22 記事 (1 - 20 表示)]  << 0 | 1 >>

■32499 / inTopicNo.1)  タブブラウザ
  
□投稿者/ うちわ (1回)-(2009/02/08(Sun) 12:17:47)

分類:[C#] 

2009/02/08(Sun) 12:19:19 編集(投稿者)

初めまして。うちわと言います。宜しくお願いいたします。
さっそくですが、現在、タブブラウザを作成しています。
そこで質問ですが、タブ関連の命令を色々教えていただけないでしょうか?
例えば「タブの追加除去」、「別ウィンドウが表示されたときにタブを追加し、そこに表示させる」
「タブを追加したときにすでにタブにブラウザを装備する方法」などです。
初めてにして聞きすぎかもしれませんが、ご解答宜しくお願いします。

開発環境:Microsoft Visual C# 2008 Express Edition
開発言語:C#
引用返信 編集キー/
■32501 / inTopicNo.2)  Re[1]: タブブラウザ
□投稿者/ επιστημη (1675回)-(2009/02/08(Sun) 12:39:18)
επιστημη さんの Web サイト
> そこで質問ですが、タブ関連の命令を色々教えていただけないでしょうか?

まずはマニュアル(=MSDN)を読んでください。
http://msdn.microsoft.com/ja-jp/library/system.windows.forms.tabcontrol(VS.80).aspx

ほんの一例、追加と削除:

  public partial class Form1 : Form {
    public Form1() {
      InitializeComponent();
    }

    private int n = 0;

    // 追加ボタンが押された
    private void button1_Click(object sender, EventArgs e) {
      tabControl1.Controls.Add(new TabPage((n++).ToString()));
    }

    // 削除ボタンが押された。左端のタブを削除。
    private void button2_Click(object sender, EventArgs e) {
      if ( tabControl1.Controls.Count != 0 ) {
        tabControl1.Controls.RemoveAt(0);
      }
    }
  }


引用返信 編集キー/
■32503 / inTopicNo.3)  Re[2]: タブブラウザ
□投稿者/ うちわ (2回)-(2009/02/08(Sun) 13:47:42)
返信有り難うございます。
追加と削除は出来ましたが
「別ウィンドウを開いた際にタブを追加し、その追加するタブに予めブラウザを装備し、その追加したブラウザに別ウィンドウのページを表示する」
ということは可能なのでしょうか?
マニュアルを読んでもよくわからなかったので…。
宜しくお願いします。
引用返信 編集キー/
■32504 / inTopicNo.4)  Re[3]: タブブラウザ
□投稿者/ επιστημη (1677回)-(2009/02/08(Sun) 14:00:08)
επιστημη さんの Web サイト
> 「別ウィンドウを開いた際にタブを追加し、その追加するタブに予めブラウザを装備し、その追加したブラウザに別ウィンドウのページを表示する」
> ということは可能なのでしょうか?

可能です。

> 別ウィンドウを開いた際にタブを追加し

これができることはコードで説明済み。

> その追加するタブに予めブラウザを装備し

これもどってことない。タブ内にブラウザを貼ればいい。
TabPageに適したメソッドがあるでしょう。マニュアル読みましょう。

> その追加したブラウザに別ウィンドウのページを表示する

なんてことない。貼ったブラウザにURL渡して「表示しろ!」と言えばいい。
WebBrowserに適したメソッドがあるでしょう。マニュアル読みましょう。


TabControlのマニュアル必死こいて読んでもわからんですよ。
「何に対して○○すればいい」を考え、
その"何"に関することが書いてあるとこを見つけて
○○できるメソッド/プロパティを探すんです。
マニュアル読むとはそーゆーこと。漫然と読んでわからないのはアタリマエです。

引用返信 編集キー/
■32505 / inTopicNo.5)  Re[4]: タブブラウザ
□投稿者/ επιστημη (1678回)-(2009/02/08(Sun) 14:10:03)
επιστημη さんの Web サイト
>>「別ウィンドウを開いた際にタブを追加し、その追加するタブに予めブラウザを装備し、その追加したブラウザに別ウィンドウのページを表示する」

お試しコードを書きましょう、いや、VisualStudioに書かせましょう。
フォームにTabControlを貼り、TabPanelのひとつにWebBrowserを貼り、適当なページを表示させます。
実行してみましょう。動きましたか?

ここでFrom1.Designer.csを表示すると...なんということでしょう、お試しコードがそこにあります。
テキトーにコピー/修正してあなたのコードにパクっちゃってください。

引用返信 編集キー/
■32506 / inTopicNo.6)  Re[5]: タブブラウザ
□投稿者/ うちわ (3回)-(2009/02/08(Sun) 14:38:33)
2009/02/08(Sun) 14:45:25 編集(投稿者)
2009/02/08(Sun) 14:41:11 編集(投稿者)

対応したマニュアルを読みましたが、やはりよく分かりません…。
まだ初心者で難しい用語等は…。
出来れば簡単なサンプルコードを張っていただけるとありがたいのですが…。
本当に申し訳ございません。
引用返信 編集キー/
■32508 / inTopicNo.7)  Re[6]: タブブラウザ
□投稿者/ επιστημη (1679回)-(2009/02/08(Sun) 14:51:59)
επιστημη さんの Web サイト
2009/02/08(Sun) 14:54:39 編集(投稿者)
> 出来れば簡単なサンプルコードを張っていただけるとありがたいのですが…。

めんどくせー...最初で最後だからねっ

        private void button1_Click(object sender, EventArgs e)
        {
            string url = textBox1.Text;            // URLがtextBox1に入ってるとして
            TabPage page = new TabPage(url);       // タブをいっこつくる
            WebBrowser browser = new WebBrowser(); // ブラウザをいっこつくる
            browser.Dock = DockStyle.Fill;         // 貼られたらいっぱいに拡がれ!っていう
            page.Controls.Add(browser);            // タブにブラウザを貼る
            tabControl1.Controls.Add(page);        // タブの台紙にタブを貼る
            browser.Navigate(url);                 // ブラウザにURLを渡して描け!っていう
        }

...ね。
「タブを追加し、
  その追加するタブに予めブラウザを装備し、
  その追加したブラウザに別ウィンドウのページを表示する」
をそのまんま素直に/忠実にやってるだけでしょ♪

VisualStudioで雛型吐かせて、そいつをテケトーにパクった結果がこれだよ!

引用返信 編集キー/
■32509 / inTopicNo.8)  Re[7]: タブブラウザ
□投稿者/ うちわ (4回)-(2009/02/08(Sun) 15:08:02)
2009/02/08(Sun) 15:08:58 編集(投稿者)

おお出来ました。有り難うございました^^

あの、最後に一つだけ。
InterNetエクスプローラ等で別ウィンドウで開くページのURLはどのようにして取得すればいいのでしょうか?

psまた取得した後でその別に開いたInterNetエクスプローラ等の画面を閉じることは可能でしょうか?
引用返信 編集キー/
■32510 / inTopicNo.9)  Re[8]: タブブラウザ
□投稿者/ επιστημη (1680回)-(2009/02/08(Sun) 15:59:17)
επιστημη さんの Web サイト
ごめんわかんね。

ふぉろーよろしく > だれぞ

引用返信 編集キー/
■32511 / inTopicNo.10)  Re[9]: タブブラウザ
□投稿者/ うちわ (5回)-(2009/02/08(Sun) 16:10:17)
2009/02/08(Sun) 16:13:58 編集(投稿者)

すいません。最後にと書きましたがもう一つだけ。
現在、ボタン1をクリックで
this.webBrowser1.Navigate("http://www.google.co.jp/");
となり、最初にタブにあるブラウザ1にグーグルが表示される機能があるのですが、
タブの追加で追加されたブラウザにも同じ効果を出すにはどのようにすればいいのでしょうか?
引用返信 編集キー/
■32512 / inTopicNo.11)  Re[10]: タブブラウザ
□投稿者/ 太郎冠者 (2回)-(2009/02/08(Sun) 16:15:46)
>InterNetエクスプローラ等で別ウィンドウで開くページのURLはどのようにして取得すればいいのでしょうか?
一昨年の夏ぐらいに同じことで嵌まったなぁ。。。
面倒臭いよー

とりあえず参考リンク
http://rucio.bbs.coocan.jp/?m=listthread&t_id=568&summary=on

引用返信 編集キー/
■32513 / inTopicNo.12)  Re[10]: タブブラウザ
□投稿者/ επιστημη (1681回)-(2009/02/08(Sun) 16:26:09)
επιστημη さんの Web サイト
> タブの追加で追加されたブラウザにも同じ効果を出すにはどのようにすればいいのでしょうか?

??? タブの追加で追加されたブラウザにも同じことすりゃいんじゃね?

引用返信 編集キー/
■32514 / inTopicNo.13)  Re[11]: タブブラウザ
□投稿者/ うちわ (6回)-(2009/02/08(Sun) 16:29:24)
2009/02/08(Sun) 16:32:33 編集(投稿者)

今の状態で一番手前に表示されているブラウザに同じ効果をってことです…。
説明不足ですいません。
さっきのままだとWebbrowser1にだけ効果が発揮されてしまって。。。
引用返信 編集キー/
■32515 / inTopicNo.14)  Re[12]: タブブラウザ
□投稿者/ επιστημη (1682回)-(2009/02/08(Sun) 16:33:40)
επιστημη さんの Web サイト
> 今の状態で一番手前に表示されているブラウザにも同じ効果をってことです…。

だからー、今の状態で一番手前に表示されているブラウザにNavigateしろって言えばいい。

引用返信 編集キー/
■32516 / inTopicNo.15)  Re[13]: タブブラウザ
□投稿者/ うちわ (7回)-(2009/02/08(Sun) 16:38:36)
「今の状態で一番手前に表示されているブラウザ」をどうやって指定すればいいのかがわからないのです…。
引用返信 編集キー/
■32517 / inTopicNo.16)  Re[14]: タブブラウザ
□投稿者/ 太郎冠者 (3回)-(2009/02/08(Sun) 16:46:55)
No32516 (うちわ さん) に返信
> 「今の状態で一番手前に表示されているブラウザ」をどうやって指定すればいいのかがわからないのです…。

自分で作ったものが何所にあるのか分からないなんてのは、また頓珍漢な話ですが
Formの上にあるTabControlの、選択されているTabPageの上のWebBrowserでいいんじゃないでしょうか。

#コードをコピペして「よっしゃ!動いた!」ってだけじゃなく
#ちゃんと中身を理解して下さいね。
引用返信 編集キー/
■32518 / inTopicNo.17)  Re[15]: タブブラウザ
□投稿者/ うちわ (8回)-(2009/02/08(Sun) 16:51:28)
>>Formの上にあるTabControlの、選択されているTabPageの上のWebBrowser
それをどのようにC#構文にするのかがわからないのです…。
まだ始めたばっかですので…。理解しようと努力はしています。
引用返信 編集キー/
■32519 / inTopicNo.18)  Re[15]: タブブラウザ
□投稿者/ Azulean (287回)-(2009/02/08(Sun) 16:55:11)
完成形にこだわる余り、過程がよく理解できていないのでは?

やりたいことというまとまった集合ではなく、それを切り崩して考えてみましょう。
そして、細かいパーツからでも良いので、自分で理解していくことをお薦めします。


・TabPageとWebBrowserを動的に追加したとして、それをどうやって管理するか
 TabControlに追加しておしまい?
 ペアで管理する?
・アクティブなTabPageの特定はどうするか
 TabControlからアクティブなタブは分かるはずなので、そこからどうやるか
・アクティブなTabPageが特定できたとき、それに張り付いているWebBrowserをどうやって特定するか
 TabPageが得られたとして、操作するためのWebBrowserが必要になる
 それをどうやって取り出すか


今のままだと、他の人にプログラムを作ってもらっているのと代わりありません。(プログラマーとは言えない)
引用返信 編集キー/
■32520 / inTopicNo.19)  Re[16]: タブブラウザ
□投稿者/ Azulean (288回)-(2009/02/08(Sun) 16:58:54)
No32518 (うちわ さん) に返信
> >>Formの上にあるTabControlの、選択されているTabPageの上のWebBrowser
> それをどのようにC#構文にするのかがわからないのです…。
> まだ始めたばっかですので…。理解しようと努力はしています。

「まだ始めたばっか」とはどういう意味でしょうか?

1.プログラミングが初めて?
2.(他の言語体系でプログラミングはやっていたが)C#が初めて?
3.この課題 or 要求仕様に取り組み始めたばっかり?


1や2なら、ちょっと飛躍しすぎな感じがします。
もう少し、基礎的な所からやった方が良い気もしますが…。
引用返信 編集キー/
■32521 / inTopicNo.20)  Re[14]: タブブラウザ
 
□投稿者/ επιστημη (1683回)-(2009/02/08(Sun) 16:59:58)
επιστημη さんの Web サイト
2009/02/08(Sun) 17:08:37 編集(投稿者)
> 「今の状態で一番手前に表示されているブラウザ」をどうやって指定すればいいのかがわからないのです…。

「今の状態で一番手前に表示されているブラウザ」
とは
「今の状態で選択されているTabPageに貼ってあるWebBrowser」
なのでまず、
「今の状態で選択されているTabPage」
を取得します:

   TabPage page = tabControl1.SelectedTab;

で、そのpageに貼られたコントロールを取り出します。
とはいっても貼ってあるのはWebBrowserいっこだけだから

   Control control = page.Controls[0];

ControlのままじゃNavigateしろと言えないのでキャストします。

   WebBrowser browser = control as WebBrowser;

んでもってURLを食わせます。

   if ( browser != null ) {
     browser.Navigate("http://www.google.co.jp");
   }
 
まとめると:

   WebBrowser browser = tabControl1.SelectedTab.Controls[0] as WebBrowser;
   if ( browser != null ) {
     browser.Navigate("http://www.google.co.jp");
   }

ね。やりたいことを細かくバラして、そのまま素直に/忠実にやってるだけでしょ♪
大事なのはやりたいことを細かくバラすこと。
これができないと何度訊いてもダメ。
「アレはどーする?」「じゃぁコレは?」を連発する教えて君から脱却できない。

# こういうのは場数踏まないとわかんないよねー。ビギナにはハードル高杉鴨。

引用返信 編集キー/

次の20件>
トピック内ページ移動 / << 0 | 1 >>

管理者用

- Child Tree -