1

C# で簡単なタイマーを作成しようとしていて、最初はこの Web サイトを参照用に使用しましたが、アプリケーションで 2 行のエラーを 2 回受け取り続けました。

private Timer _timer;

_timer = new Timer();

最初に、私のアプリケーションで、私は試しました...

System.Timers.Timer _timer = new Timer();

これを行ったとき、C# は tick、start、または stop をメソッドとして認識しませんでした。最後に、作成者のコードをコピーしてアプリケーションに貼り付け、タイマーを実行してから逆方向に作業できるかどうかを確認しましたが、同じ 2 行で同じエラーを受け取りました。私がオンラインで読んだことのほとんどは、 System.Timers.Timer ルートでタイマーを初期化するように言っていますが、それはより多くのエラーにつながり、作成者がそのルートに従って利用可能として使用するメソッドが表示されません。

更新:ファイルの先頭に追加using System.Windows.Forms.Timer;しても、同じエラー メッセージが表示されます。

注:現在、私のコードは作者のコードのコピーアンドペーストであり、彼はそれが機能していると主張していますが、そうではありません。

4

4 に答える 4

3

タイマーの作り方はこちら。これは、Windows フォーム タイマーです。作成できる Windows スレッディング タイマーもあります。

    private System.Windows.Forms.Timer tmr;

    private void timerCallBack(object sender, EventArgs e)
    {

    }

    private void createTimer()
    {
        tmr = new System.Windows.Forms.Timer(this.components);
        tmr.Interval = 1000;
        tmr.Tick += new System.EventHandler(this.timerCallBack);
    }
于 2013-10-26T12:55:44.063 に答える
1

に定義System.Timers.Timerしています。System.Windows.Forms.Timerこれを に変更して、ファイルの先頭にTimer _timer = new Timer();追加します。using System.Windows.Forms.Timer;

于 2013-10-26T12:57:10.650 に答える
1

同じタイプのエラーが一度発生しました。私のエラーの理由は、私のプロジェクトの名前が Stopwatch であったため、プロジェクト用に作成された名前空間も、私がアクセスしようとしていたSystem.Diagnostics.Stopwatchクラスでコンパイラがたまたま認識した Stopwatch という名前でした。

そのため、 System.Diagnostics.Stopwatchクラスのオブジェクトを作成しようとしたときに、「Stopwatch」は「名前空間」ですが、System.Diagnostics を使用して含めたにもかかわらず、「型」のように使用されているというエラーが発生しました。

後で、コンパイラが Stopwatch 名前空間を識別していることに気付きました。これは、私がSystem.Diagnostics.Stopwatchクラスで取り組んでいたプロジェクトの名前空間でした。

したがって、この間違いを犯していないことを確認してください。

于 2014-09-22T10:09:05.267 に答える
0

追加using System.Windows.Forms.Timer;は機能しません。結果のコンパイラ エラー メッセージで通知されるようにSystem.Windows.Forms.Timer、これは名前空間ではなく型です。

using System.Windows.Forms;(note, no )を追加するか、deathismyfriend によって提案されているように各インスタンスをTimer明示的に定義する必要があります。TimerSystem.Windows.Forms.Timer

private System.Windows.Forms.Timer _timer = new System.Windows.Forms.Timer();

記事からリンクしたソリューションを VS2010 ソリューションに更新したところです。それでも問題が解決しない場合は、ダウンロードしてコンパイルし、実行してから、そのコードを自分のコードと慎重に比較することをお勧めします。

于 2013-10-29T06:19:53.570 に答える