• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C#を用いての簡易ブラウザ作成)

C#を用いた簡易ブラウザ作成方法

このQ&Aのポイント
  • Visual studio 2005 C#で簡単なブラウザを作成する方法について知りたいです。
  • ブラウザの基本機能として、URLの入力と移動、戻る・進むボタン、ホームに戻る機能、Google検索エンジンの呼び出しを追加したいです。
  • Visual studio 2005のツールボックスでFormを作成し、ButtonやtextBox、WebBrowserなどのコントロールを配置しましたが、どのメソッドをどこに記述すれば良いか分かりません。Navigate()、GoBack()、GoForward()などのメソッドを使用すればよいのでしょうか。初心者のため、助けが必要です。

質問者が選んだベストアンサー

  • ベストアンサー
  • zwi
  • ベストアンサー率56% (730/1282)
回答No.4

これで変更できると思います。 http://www.atmarkit.co.jp/fdotnet/csharptips/002anchor/002anchor.html VC#2005はもっと楽な方法があるかも知れないですが。

yahoiyahoi
質問者

お礼

無事解決できました。何度も質問に答えてくださって本当に感謝してます。どうもありがとうございました。 また何かありましたらよろしくお願いします。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.3

googleで検索ですか?結構難しい課題だと思いますが。 googleで検索するとブラウザで表示されるURLと同じ物を自分で合成してやる必要があります。 たとえばaaaaを検索すると下記の通りです(完全なURLだとこのサイトが勝手にリンクに書き換えてしまうのでワザと途中に1文字空白を入れてあります)。 http://www.google.co.jp/ search?hl=ja&q=aaaa&btnG=Google+%E6%A4%9C%E7%B4%A2&lr= この中で%E6とか謎の文字がでてますが、これは英数字以外が使えないURLで他の文字を使うために特殊な変換が掛かっているためです。これをURLエンコードと言います。 URLエンコード前のURLは以下の通りです。 http://www.google.co.jp/ search?hl=ja&q=aaaa&btnG=Google 検索&lr= URLエンコード/デコードを体験できるサイトがあるので自分でURLを組み立てて色々と実験してみてください。 http://www.tagindex.com/tool/url.html ちなみにgoogleは文字コードがutf-8らしいので、必ずutf-8の文字コードを指定してください。 URLエンコードは下記サイトを参考にしてください。 http://www.atmarkit.co.jp/fdotnet/dotnettips/212urlencode/urlencode.html 自前でやると結構面倒な処理なのですが用意されているメソッドで簡単に変換できるようです。 ちなみに自分でやると (1)URLの元の文字列を組み立てる。 (2)文字コードをutf-8に変換する。 (3)URLをURLエンコードする。 という手順を全部自分でやらないといけません。 文字コードについては今回は関係ないですが下記サイトを参考に。 http://ja.wikipedia.org/wiki/%E6%96%87%E5%AD%97%E3%82%B3%E3%83%BC%E3%83%89

yahoiyahoi
質問者

お礼

親切にありがとうございます。 しかし、自分にはまだ難しいようです… 勉強します。 最後にもう少し聞きたいのですが、visual studioでFormにwebBrowserやtextbox,buttonコントロールを貼り付け、メソッドを記述し、デバッグで成功まではいけたのですが、デバッグした後そのFormを最大化(タイトルバーの最大化ボタンをクリック)すると、webBrowser、textBox、buttonなどがその最大化に合わせて移動しないのです。 つまり、webBrowserなどのコントロールを最大化に合わせて、大きくしたいのです。IEなどは最大化をするとそれに合わせた感じになりますよね。 最後にIEなどのブラウザではタイトルバーにそのwebページのタイトルが表示されますよね。このページの場合は「教えて!goo」でしょうか そのような表示も出来るようにしたいのです。 うまく説明できなくて申し訳ないのですが、教えていただければ幸いです。よろしくお願いします。

yahoiyahoi
質問者

補足

回答へのお礼の中で質問したwebページのタイトル表示の件ですが this.Text = webBrowser1.DocumentTitle;によって解決できました。 しかし、最大化の件に関してはまだ解決出来ていないので、よろしくお願いします。

全文を見る
すると、全ての回答が全文表示されます。
  • zwi
  • ベストアンサー率56% (730/1282)
回答No.2

C/C++の方でQNo.3315097「Visual C#2005 で簡単なブラウザを作成したいのですが」の質問をしていた人ですよね? 解決できていないなら質問を締め切らなくて良いですよ。 まず疑問に思ったのですが、C#の入門書は持っていますか?WEBサイトの大半は、最低限のC#の操作方法はわかっているものとして書かれています。 コントロールのメソッドを記述する方法がわからないのは、本を持っていないか持っている本に問題があると思います。この機会にぜひよい本を購入してください。 ちなにみ私はC++が専門なのですが試しにC#のメソッドを書いてみました。コントールのクリック時のイベントを追加してメソッドを書く手順はVisualStuido2005に慣れてないと少しわかり辛いかも知れませんね。 とりあえず、これで分かれば良いのですが。 http://itpro.nikkeibp.co.jp/article/lecture/20070219/262467/?ST=lecture ついでにC#のTIPSサイトも紹介しておきます。 http://hiro.wankuma.com/CS2005/index.htm

yahoiyahoi
質問者

お礼

ありがとうございます。C#の学習を始めたばかりなのですが、急な課題でブラウザを作りなさいと言われたので困ってたのです。 入門書としては独習C#を持っていますが、Visual Studioは初めて使うのでよく分からないのです。 参考サイトからだいたい作れるようにはなり、textBoxにurlを入力しButtonをクリックすればサイトに飛べるようには出来たのですが、検索語入力してサイトに飛べるようにもしたいのです。 それはどのようにしたらいいでしょうか?

全文を見る
すると、全ての回答が全文表示されます。
noname#39970
noname#39970
回答No.1

>C#はほとんど初心者に近く そう思うなら基礎から出直した方が無難なのでは? サンプルをいくつかこなして再挑戦するという話。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 最後まで読み込ませて待たせるには?

    わからないので質問させてください。 初心者なのでなかなかうまくいきません。(?_?) 教えていただけないでしょうか。 よろしくお願いいたします。 OS VISTA ブラウザ IE7 Microsoft Visual Basic 2005 WindowsFormのWebBrowserを使って表示させています。 やりたいこと WebBrowser1.Navigate(ComboBox1.Text)が読み込むまで待たせたい。 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click WebBrowser1.Navigate(ComboBox1.Text) WebBrowser1.Document.All.GetElementsByName("タイトル")(0).InnerText = TextBox2.Text WebBrowser1.Document.All.GetElementsByName("内容")(0).InnerText = RichTextBox1.Text End Sub

  • VB ブラウザ

    http://code.msdn.microsoft.com/windowsdesktop/VB-WebBrowser-8a853596 にてブラウザを作ったのですが戻るキー、進むキー、ブックマーク、再読み込み、中止、印刷 など機能をつけたいのですがわかりません Button1=戻る Button2=進む Button3=お気に入り Button4=再読み込み Button5=中止  Button6=印刷 と割り当てたいです。 ちなみにMicrosoft Visual Basic Express 2010です。

  • visual studioを外部から操作したい

    .net framework 2.0を使用しています。 visual studio C# 2005 expressにはメソッドの追加ウィザードがついていないらしいので、 そのウィザードと似たような機能をvisual studioに作成したコードを挿入するアプリケーションとして 作りたい思ってるのですが、visual studioには外部から操作できるように関数などは公開されているのでしょうか? visual studioとメソッド追加ウィザードアプリケーションを両方起動して visual studio内で記述しているテキストのカーソルの位置にメソッド追加ウィザードアプリケーション で作成されたメソッドコードを挿入するやり方です。

  • C#でブラウザ作成、mixi上で自動運転(ボタンクリック)ができません。

    勉強のためC#でブラウザ作成を行っています。 (Microsoft Visual Studio C# 2008 Express Edition) まずはmixiのログイン画面で自動ログインするブラウザを作成しています。 URLはここです。 http://mixi.jp/home.pl メールアドレスやパスワードは入力できますが、「ログインボタン」はIDがないため、私の知識ではクリックできません。 記述したコードは、以下になります。 //ログイン用のEメールアドレスを入力 HtmlElement LoginId = this.webBrowser1.Document.GetElementById("email"); LoginId.InnerText = "aaaaaaa@yahoo.co.jp"; //パスワードを入力 HtmlElement LoginPass = this.webBrowser1.Document.GetElementById("password"); LoginPass.InnerText = "password_abc"; //チェックボックス(次回から自動でログイン)をチェック HtmlElement CheckBox = this.webBrowser1.Document.GetElementById("sticky"); LoginButton.InvokeMember("click"); //ここに「ログイン」ボタン押下処理を追加予定 解決方法,参考になるサイト,その他ご意見等、ご助言をお願いします。

  • C#でのDLLのメソッドの作り方

    MEFを使ってC#のプログラムを作っています。 DLL側のメソッドとして public bool ブーリアン(){     return true; } public string ストリングス(){ return "文字列"; } のような、戻り値をDLLからメインに送ることはできるのですが、 public void ナビ(int a){ webBrowser1.Navigate(http・・・・); Thread.Sleep(a); webBrowser1.Navigate(http・・・・); Thread.Sleep(a); }//webBrowser1はメインにある このような処理をDLLに入れようとすると、当たり前ですが「webBrowser1」なんてないぞ っと怒られてしまいます。 どのように渡せばよいのでしょうか?

  • C#のど素人ですみません。

    C#のど素人ですみません。 OnChange()メソッドを使って、画面のtext領域が変更した時に処理を作成したいのですが、 visual studio 2008でOnChange()メソッドの作り方が解りません。 ご教授下さい。よろしくお願いします。

  • WebBrowserのURLプロパティについて

    質問です。 ある某サイトの画像取得するプログラムを作ってるのですが、 検索しても出てこないのでここで質問させて頂きます。 最初に[TextBox1] と[TextBox2]が二つあります。 そしてそのテキストボックスにはURLの ../585dDws/ ←等の文字列を入れて それをWebBrowserで取得して読み込みを行いたいのですが、 WebBrowser2.Navigate(New Uri("http://www.*****.jp" + TextBox1.Text + ":" + TextBox2.Text + "/index.html")) 及び WebBrowser2.url(New Uri の方も読み込みました。が無理です。 でButtonを押しても WebBrowser 内は真っ白で読み取ってくれません。 どの様にすれば詠み込んでくれるのでしょうか? 「+」と「&」等も変更してみましたが無理でした。

  • Visual C♯ フォーム間での値の受け渡し

    Visual C♯ フォーム間での値の受け渡しについて プログラミング初心者です。 今、勉強中なのですが、試行錯誤しても出来なかったので助けていただければと思います。 現在Visual C# 2008を使っております。 フォーム間の値の受け渡しについて、助言をお願いします。 [Form1] ・TextBox1 ・Button1 [Form2] ・TextBox2 ・Button2 1.Form1のButton1をクリックし、Form2を出す。 2.Form2のtextBox2に文字を入力し、Button2をクリックする。 3.Form1のTextBox1に、Form2のtextBox2に入力した文字を表示する。 という、作業をしたいのです。 できればソース付きで教えていただけると助かります。 よろしくお願いします。

  • C#でブラウザのタイムアウト処理

    Visual C# 2008 Expressで.NET Frameworkアプリケーションの勉強をしています。 今回、テキストファイルに書かれたURLリストを巡回するブラウザを作成しているのですが、サイトの読み込み完了に時間がかかり、途中で停止してしまう現象に悩まされています。 ソースは以下のようになっています。 string[] tempLine = File.ReadAllLines("list.txt", System.Text.Encoding.GetEncoding("Shift_JIS")); foreach (string temp in tempLine) { webBrowser1.Navigate(temp); //読み込みが完了するまで待つ while (webBrowser1.IsBusy == true || webBrowser1.ReadyState != WebBrowserReadyState.Complete) { //読み込み完了後、5秒まってから次に移動する System.Threading.Thread.Sleep(5000); System.Windows.Forms.Application.DoEvents(); } } アクセスして10秒以上たっても読み込みが完了しない場合、次のURLに飛ぶという処理を追加したいのですが、どのようにやったものか悩んでいます。 ご助言を頂ければと思います。よろしくお願いします。

  • C++ アプリケーション作成の質問

    いま、C++を勉強して日記帳のアプリを製作してます。(Visual C++使用中・Microsoft のあれです) 近い将来にJavaを使っゲームのアプリを作ってみたいと思っていて色々なプログラミング言語に対応している wide studio に乗り換えようかと思っています。 質問なんですが、 wide studio、Visual C++、BorlandのC++Compiler等たくさんありますが、『このソフトだと○○ができないが他はできる(○○にはアプリを作成する上でアプリに付け足せる機能(?)です。機能は例えば。。。イベントというものでしょうか?すみません勉強不足ですm(_ _)m)』とか『これは参考書がたくさんあって進め易い』等のいい点、使いにくい点を教えてください