2011-12-11 16 views
1

ちょっと退屈なので、私自身のテキストエディタを構築することにしました。私はコーディングに問題がありました。私の先生は、私が言語にもっと慣れ親しむために書きたい小さなプログラムを作成するよう提案しました。何も考えられないので、このテキストエディタを作成しました。C#WinFormテキストの変更/終了のプロンプト

私はできるだけコードを自分で解決しようとしていましたが、フォームの上部に表示されるテキストを(アイコンの横に)現在のファイル名ファイルがロードされていない場合は "new"または何か)、ファイルが編集されている場合は*が付きます。

終了ボタンを閉じる前にテキストが編集されているかどうかをチェックし、もしあれば保存するかどうかをチェックする方法を知りたいだけでなく、 X "ボタンをクリックすると、現在フラットアウトされていても何もプログラムが終了します。タイトル(アイコン以外のテキスト)を変更するには

答えて

1

Form1はあなたの名前である

Form1.Text = "This is a new title"; 

は、テキストが保存されているかどうかを確認するには、オブジェクト

を形成: かどうかを示すブール変数をホールドユーザーがテキストを保存したかどうかを確認します。あなたはForm_Closing hereに 詳細を望むように は

+0

すばやくご回答いただきありがとうございます。どこに私のコードでそれを追加しようとすると、私は "テキスト"オプションを与えていないので、正確にどこに私は "Form1.Text .."を入れます。 私はForm_Loadメソッドを持っていますが、Form_Closingメソッドはありません。 Form_Closingメソッドを追加して、Form_Loadの外観を反映しますか?私はまだ一般的にプログラミングするのがかなり新しいです –

+0

@MattMiller代わりに 'this.Text = ...'とForm1_Loadメソッドを使用してください。 Form_Closingについては、自分でメソッドスタブを生成するか、Form_Closingメソッドスタブを作成するためにVSのプロパティウィンドウ(メインフォームのプロパティを選択している)を使用する必要があります – Shai

+0

ありがとうございます。私はそれを取ってOpenボタンのコードに入れて、私が望む効果を得ました。文字列に現在のファイル名の値を代入するif文の前に文字列変数を宣言するだけで、私が本当に望んでいなかったラベルを切り取ることさえできました。Form_Closingについては、それを正しくするためにいくつかの遊びを取るだろう、私は確信しています。私はmsdnリンクの指示に従ってみましたが、 "X"をクリックしても何も表示されませんでしたので、作業を続けます。私は9月からC#で作業していましたが、私の教えは自分が教えてくれたものでした。 –

1

に多くの質問に、この変数がtrueに設定されているかどうかを確認するためにForm_Closingメソッドを使用して、やる:)

私はそれらのいくつかを答えてみましょう:

  1. あなた自身のコードでは、おそらく "ダーティビット"を設定するべきです。つまり、テキストが変更されたかどうかを示すboolean変数を宣言します。 「変更」は、プログラマが定義する必要があるものです。それは多くの異なることを意味することができます - あなたが決定する。

  2. 各Winformの「コントロール」には一連の「プロパティ」があり、ほとんどはプログラムで(オンザフライで)変更できます。あなたの "フォーム"にはタイトルを変更する "テキスト"プロパティがあります。ラベル、ボタン、その他のコントロールには独自の「テキスト」プロパティがあり、自由に変更できます。

  3. 各Winformコントロールには、オーバーライドできる一連の「イベント」もあります。 「閉じる」イベントは、誰かが「X」ボタンを押した場合を含め、プログラムのシャットダウンを管理する最も簡単な方法です。これはあなたの「汚れたビット」をチェックし、それに応じてファイルを保存するのにも適しています。

関連する問題