2016-12-11 3 views
0

基本的に私はまだ試していないいくつかのことを学ぼうとしています。私は、テキストボックスとボタンを持つ小さなプログラムを作りたいです。ビジュアルスタジオオープンリンクseperate form

テキストボックスのフィールドに入力された内容は、ボタンから適用されたURLの最後に追加されます。 http://website.com/stuff?things= + textboxValue

起動ボタンをクリックすると、入力したテキストで作成されたURLを2番目の形式で開きます。

私はform1からform2に繰り越すためのテキストを除いてすべて機能しています。ちょうど私がこれについてどうやって行くことができるか考えている

フォーム1

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 

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

     private void Form1_Load(object sender, EventArgs e) 
     { 

     } 

     private void textBox1_TextChanged(object sender, EventArgs e) 
     { 

     } 

     private void button1_Click(object sender, EventArgs e) 
     { 
      Form2 form2 = new Form2(); 
      form2.LinkTarget = textBox1.Text; 
      form2.Show(); 
     } 

     private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) 
     { 
      Form3 newFrm = new Form3(); 
      newFrm.Show(); 
     } 

     private void Form1_Load_1(object sender, EventArgs e) 
     { 

     } 
    } 
} 

Form2の

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 

namespace WindowsFormsApplication8 
{ 
    public partial class Form2 : Form 
    { 
     public Form2() 
     { 
      InitializeComponent(); 
     } 
     public string LinkTarget { 
      get; 
      set; 
     } 
     private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) 
     { 
      string myUrl = "http://website.com/stuff?things=" + LinkTarget; 
     } 
    } 
} 

私はつもりかの例。 フォーム1にはテキストボックスとボタンがあります。 ボタンをクリックすると、http://www.stackoverflow.com/questions/が2番目の形式で開きます。 2番目の形式は基本的にブラウザです。 しかし、私はボタンを押す前に、私は41090977を入力すると、フォーム1で、それはあなたがそれを開く前に、あなたが設定Form2を、でプロパティを作成することができますhttp://www.stackoverflow.com/questions/41090977

+1

あなたは何を試してみましたか? C#のフォームインスタンス間で情報を渡すには、いくつかの方法があります。コンストラクタに値を指定したり、プロパティに設定したり、メソッド呼び出しに渡したり、静的にしたり、一般的にアクセス可能な場所に格納したりすることができます。クラスに値を与えて使うことはかなり広いです。 – David

答えて

0

を開きます:

//... other form2 code 

public string LinkTarget { 
    get; 
    set; 
} 

あなたが設定することができますこの(button1_Clickで)のような値:Form2の内

Form2 form2 = new Form2(); 
form2.LinkTarget = myTextBox.Text; 
form2.Show(); 

は、あなたのリンクを作成するには、プロパティの値を使用することができます。現在のコードでは、プロパティを定義したばかりです。リンクを作成するには、そのコンテンツを使用する必要があります。これは+演算子とURLを含む、あなたの文字列にプロパティ値を取り付けることで行われます

string myUrl = "http://website.com/stuff?things=" + LinkTarget; 
+0

私はForm2のプロパティウィンドウでリンクを開くように設定しました。フォーム1のボタンをクリックすると、リンクが開きますが、form1.webBrowser1_DocumentCompletedのテキストボックスにはリンクされません。何でもここに行きます。 – JakeJigsaw

+0

@JakeJigsaw: 「テキストボックスにリンクする」という意味を明確にしてください。あなたはあなたの質問を正確に更新して、あなたがしてはいけないものを正確に指定します。あなたがそれを開くときにあなたのテキストボックスの値をform2に渡したいなら、私が記述した方法はあなたがしなければならないことです。あなたが何か違う、あるいはもっと複雑なことをしたいのなら、あなたの質問でそう言いなさい。 – Sefe

+0

あなたが指定した方法でそれをやろうとしています。私はちょうどそれが働くことを得たhavnt。 Form2のWebBrowser上のURLの最後にform1のテキストボックスに入力されたテキストを追加するだけです。 – JakeJigsaw