私はこのコードを持っています:
Button ssr = new Button();
ssr.Text = "SSR";
ssr.Location = new Point(500, 5);
ssr.Size = new Size(50, 30);
ssr.Click += new EventHandler(ssr_Click);
そして、ボタンに「1234」を書き込むメソッド ssr_Click がありました。これはテスト用でしたが、メソッドは次のようになります。
private void ssr_Click(string callsign, object sender, EventArgs e)
{
using (var wb = new WebClient())
{
string url = "xxxxxxxx";
WebRequest request = WebRequest.Create(url);
request.Method = "POST";
string postData = "callsign=" + callsign;
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = byteArray.Length;
Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
WebResponse response = request.GetResponse();
Console.WriteLine(((HttpWebResponse)response).StatusDescription);
dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
string squawk = reader.ReadToEnd();
System.Windows.Forms.MessageBox.Show(squawk); // !!!
reader.Close();
dataStream.Close();
response.Close();
}
}
大丈夫です。「コールサイン」を知らないだけです。これは他の場所で定義されているため、意味があります。そのため、メソッドパラメーターに「文字列コールサイン」を追加して、呼び出すときにコールサインも指定します。 . これを行ったので、コードの最初の部分の行でエラーが発生します
ssr.Click += new EventHandler(ssr_Click);
「ssr_Click」のオーバーロードはデリゲート「System.EventHandler」と一致しません。このメソッドを編集する前は問題ありませんでした。これを行うことになっています: 誰かがボタンをクリックすると、コールサインがメソッドに送信され、Web サイトの .php から 4 桁のコードが取得され、ボタンにコードが書き込まれます。メソッドを編集して文字列を返すようにしますが、最初にこれを解決する必要があります..何かアイデアはありますか?