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

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

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

Re[1]: C#エラーについて


(過去ログ 26 を表示中)

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

■12154 / inTopicNo.1)  C#エラーについて
  
□投稿者/ Kiyoshi (5回)-(2008/01/01(Tue) 10:01:29)

分類:[.NET 全般] 

開発環境:Windows XP Home Edition
使用言語:C#

以下で、デバッグすると「クラス、デリゲート、列挙型、インターフェイス または構造体が必要です。」とエラーが出ます。解決策があればお教えいただけないでしょうか?

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

namespace MyMemo
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}

private void Form2_Load(object sender, EventArgs e)
{

}

private void button1_Click(object sender, EventArgs e)
{

}

private void textBox1_TextChanged(object sender, EventArgs e)
{
    
}
    

}

public Form1 Form1Instance;//Form1のインスタンス

int j = 0;//検索を始める位置
  string search_word;//検索する単語

//検索ボタンをクリックしたときの処理
  private void button1_Click(object sender, EventArgs e) {
//検索する単語を入力せずに検索ボタンを押した場合
if (textBox1.Text == "") {
MessageBox.Show("検索する単語を入力してください");
) else {
//検索する単語を入力してから検索ボタンを押した場合
 //違う単語での1回目の検索かをチェック
 if (search_word != textBox1.Text) {
//その単語での初めての検索なら検索を始める位置jを0にする
j = 0;
}

//ユーザが入力した検索する単語を代入
search_word = textBox1.Text;

//検索する単語をForm1のtextBox.Textのj番目の文字以降で検索
int i = Form1Instance.TextBoxText.IndexOf(search_word, j);
//検索する単語が見つかったときの処理
   if (i > -1) {
//検索語の見つかった位置
Form1Instance.SSelection = i;
//検索語の長さ
Form1Instance.LSelection = search_word.Length;
if (j == 0) {
//その検索語での初めての検索ならボタンの文字を「次を検索」に変える
 button1_Text = "次を検索";
}
//どの位置まで検索したかをjに格納
j = i + search_word.Length;
} else {
//検索語が見つからなかったときの処理
MessageBox.Show(search_word + "は見つかりませんでした");
}
}
}

}
}

引用返信 編集キー/
■12155 / inTopicNo.2)  Re[1]: C#エラーについて
□投稿者/ 魔界の仮面弁士 (556回)-(2008/01/01(Tue) 10:33:33)
年が明けました。今年もよろしくお願いします。m(_ _)m
# ソースコードを貼る時は、投稿モードを「図表モード」にしてくださいませ。

■No12154 (Kiyoshi さん) に返信
>       if (textBox1.Text == "") {
>         MessageBox.Show("検索する単語を入力してください");
>       ) else {
else 句の行が間違っていますよ。(丸括弧ではなく、波括弧)

これのせいで、波括弧の対応がおかしなことになっています。
インデントが正しく行われているならば、
> }
> }
のように、同じ高さに閉じ括弧が来る事は、そうそう無いはずですし。

引用返信 編集キー/
■12156 / inTopicNo.3)  Re[1]: C#エラーについて
□投稿者/ επιστημη (760回)-(2008/01/01(Tue) 10:44:45)
επιστημη さんの Web サイト
2008/01/01(Tue) 10:45:33 編集(投稿者)
- お願いだから投稿モードを"図表モード"にしてください。
- エラーメッセージは"どの行で出たのか"が大事。出し惜しみしないで。

> using System;
> using System.Collections.Generic;
> using System.ComponentModel;
> using System.Data;
> using System.Drawing;
> using System.Text;
> using System.Windows.Forms;
> 
> namespace MyMemo
> {
>     public partial class Form2 : Form
>     {
>         public Form2()
>         {
>             InitializeComponent();
>         }
>         private void Form2_Load(object sender, EventArgs e)
>         {
>         }
>         private void button1_Click(object sender, EventArgs e)
>         {
>         }
>         private void textBox1_TextChanged(object sender, EventArgs e)
>         {
>         }
>     
>     } /*************************** ココでForm2が終ってますょ? ******************/
> 
>     public Form1 Form1Instance;//Form1のインスタンス
>... 

引用返信 編集キー/
■12157 / inTopicNo.4)  Re[1]: C#エラーについて
□投稿者/ オノデラ (31回)-(2008/01/01(Tue) 10:46:12)
オノデラ さんの Web サイト
 Kiyoshi さんはじめまして、オノデラです。

 すこし見てみましたが、まずスコープがおかしいです。

public Form1 Form1Instance;//Form1のインスタンス

が Form2 のクラスの外で定義されているため、上記のようなエラーが出てしまうのです。上のコードは Form2 のクラスの中に記述しましょう。

 } と ) の違いにも気を付けてください。

 button1_Click のメソッドが2つ定義されています。どちらかひとつにまとめてください。


 スコープとかクラスなどは基本部分ですので、書籍とかでもう一度プログラムの書き方などを確認してみた方がいいかと思います。(2つのフォームを使っているサンプルが書いてある本がいいですね)
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -