ボタンが押されると表示されてるものがすべてなくなるという処理を行いたいです
~~~省略~~~
static void Main()
{
~~省略~~
Form form = new RPG();
Button btn = new Button();
btn.Parent = form;
btn.Location = new Point(600, 450);
btn.Text = "ゲームスタート";
btn.BackColor = SystemColors.Control;
btn.Click += new EventHandler(btnOnClick);
btn.Size = new Size(200, 70);
Application.Run(form);
}
static void btnOnClick(object sender, EventArgs e)
{
this.Refresh();
}
と、やるとCS0026キーワード 'this'は、静的プロパティ、静的メソッド、または静的フィールド初期化子では無効です。と出ます
解決方法をだれか教えてください。
No.5ベストアンサー
- 回答日時:
>どのあたりから勉強すればよいと思いますか?
ネットにあまりよい資料が見あたら無かったので・・・取りあえず
http://wisdom.sakura.ne.jp/system/msnet/msnet_wi …
win32 apiの本ですか、「プログラミングWindows第5版」を読めば完璧。
補足しておくと、vista以降、メ二ユーのドロップダウンやウィンドウの
オーバーラップで無効領域が作られることはほぼ無くなったそうです。
でも皆無では無いので、対処は必要らしいです。
No.4
- 回答日時:
Refresh()関数は、目的からしてformのメンバですかね。
EventArgsクラスをオーバーライドして、メンバにform型の変数を定義すればeを介してformのオブジェクトをわたせます。
e.form型の変数名.Refresh();
でアクセスできます。
No.3
- 回答日時:
確かに超初心者ですね~。
OnPaint とRefresh はなかなか濃い、中級者向けのメソッドで
基本的なコントロールの描画メカニズムの理解が必須。
このあたり、しっかり調べてますか?
No.2
- 回答日時:
静的メソッドからインスタンスメンバを利用することはできません。
staticは、インスタンス化を要しない、そのクラス内で唯一無二のものになります。
例えばですが、
class A
{
static void Main() { }
}
であれば、Main()へのアクセスは、
A.Main()
です。
calss A
{
void Main() { }
}
であれば、
var classA = new A();
classA.Main();
となります。
前者はどんなに至る個所でAクラスを利用していようが、必ず1つのメソッドしかありません。
これはstaticフィールドを用意して処理していた場合、呼び出す度にstaticフィールドの値は
1つしか持てません。
後者はインスタンスごとにそのメソッドがあることになるので、至る所でインスタンス化すれば
それごとにメソッドが用意されます。
この場合、フィールドの値もインスタンスごとに持つことになり、他のインスタンスオブジェクトの
内容が影響を及ぼすことはありません。
さて、今回のメソッドRefresh()ですが、自前のメソッドであれば
private void Refresh() { }
という定義とかなんじゃないですかね。
それがstaticメソッドからしか呼ばれないものだとしたら
private static void Refresh() { }
とし、
A.Refresh();
または
Refresh();
と記述すれば通るでしょう。
No.1
- 回答日時:
超初心者なら、まずはC#自体や、そこで使われているオブジェクトの仕組とかを理解してからの方がよいかと。
staticなメソッドは、クラスの属しているメソッドで、インスタンス無しに実行できます。
インスタンスが不要なので「自分自身のインスタンス」自体が存在しません。
よって「this」はありません。
エラーメッセージに書いてある通りです。
thisに相当するようなインスタンスを他の方法で指定するとか
ここではなく、そのthisとしたいクラスの中で、インスタンスメソッド(staticが無いメソッド)として定義するとか
がよくある方法です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) Pythonで会員サイトの自動ログイン ID Nameがない 1 2022/12/16 02:09
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- JavaScript Javascript初心者|jQueryの.val()で値を取得し複数の要素を連結させる方法知りたい 2 2022/06/02 12:06
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- JavaScript 指定したパスが現URLに含まれていたら特定要素を削除するJavascriptのコードを教えてください 2 2023/04/27 17:58
- PHP 重複を防ぐ記述について教えて下さい。 3 2023/04/03 14:35
- その他(プログラミング・Web制作) uwscのCHKING関数の画像の認識がうまくいかない。 1 2022/06/18 20:55
- C言語・C++・C# Windows Formアプリからコンソールを呼び出して文字を出力させたい 8 2023/05/09 10:53
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
フォームの再読み込み
Visual Basic(VBA)
-
画面を強制的に再描画させる方法
C言語・C++・C#
-
CloseとDisposeの違い
Visual Basic(VBA)
-
-
4
インスタンス参照でアクセスできない。代わりに型名?
C言語・C++・C#
-
5
Refreshメソッドの使い方
Visual Basic(VBA)
-
6
【C#】別フォームも同時に閉じるには?
C言語・C++・C#
-
7
別のフォームで記述している関数を実行するには?C#
C言語・C++・C#
-
8
FORMが開いているかどうかの確認方法
Visual Basic(VBA)
-
9
C# 画面のちらつきを解消したい
その他(プログラミング・Web制作)
-
10
exeファイルの中身を見ることは可能ですか?
フリーソフト
-
11
DataGrdViewに関連付けたデータの更新
C言語・C++・C#
-
12
C# 点の描き方をおしえてください。
C言語・C++・C#
-
13
C# ログイン画面からメイン画面への画面遷移について
C言語・C++・C#
-
14
C#でButtonのフォーカス枠を消したいのですが
C言語・C++・C#
-
15
「指定されたキャストは有効ではありません。」とエラーが出てしまいます。
Microsoft ASP
-
16
別フォームから戻ったときのイベント
Visual Basic(VBA)
-
17
C# dataGridViewの値だけクリア
C言語・C++・C#
-
18
C# try-catch でcatchに飛ばす方法
C言語・C++・C#
-
19
Loadイベント中にほかのイベントを発生したくない
その他(プログラミング・Web制作)
-
20
C#にて別クラスの関数を使いたい
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CloseとDisposeの違い
-
クラスの実体を一つにする方法
-
VBAでCOPYを繰り返すと、処理が...
-
「ご処理進めて頂きますようお...
-
Excelシート上のマクロを登録し...
-
「PC Helpsoft Driver Updated...
-
エクセルで、日付を入力すると...
-
サブフォームのイベント取得
-
UWSC 画像認識で条件分岐
-
switch の範囲指定
-
スマホF-51Bに緊急時情報画面で...
-
VBA シート毎に画像挿入
-
csvに保存しているデータをURL...
-
DAOでSQLServerに接続し、LeftJ...
-
VBA エンターキーでイベントに...
-
お家デートをしててハグを長い...
-
UWSCを使って画像リンクをクリ...
-
uwscの画像認識に失敗します。
-
UWSC「画像が無い場合」
-
エクセル2000VBAでオブジェクト...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CloseとDisposeの違い
-
C# 超初心者です。 this.Refres...
-
[C#]FormクラスのShowメソッド...
-
DLL内のイベントをハンドリング
-
[swift]動的なキーを持つJSONの...
-
C#のインスタンスを参照渡ししたい
-
Try~Catch、Finallyについて。
-
objective-C(Xcode)に関して...
-
Graphicsプロパティ
-
OCXのメソッドの引数に文字列を...
-
コールバックでイベントを使う...
-
vb.net フォームアプリケーシ...
-
フィールド(メンバ変数)のプリ...
-
objective-cにはCのような関数...
-
VB.NET スプラッシュスクリー...
-
クラスの実体を一つにする方法
-
「ご処理進めて頂きますようお...
-
エクセルで、日付を入力すると...
-
Excelシート上のマクロを登録し...
-
エクセルVBAで、MsgBox やInput...
おすすめ情報
あまりわからないので勉強したいと思います
どのあたりから勉強すればよいと思いますか?