1

というわけで、Visual C# 2010 Express でプログラムを作りました。仕事をするのに十分な作業が完了し、この言語での最初の試みとしてはかなりうまくいきました。しかし、私は愚かにも「このプログラムは、送信する前に確認ダイアログが必要です!」と判断しました。そのため、関数を作成し、自動生成されたコードにアクセスして、その関数を適切にバインドします。

カブーム!

ここで、フォーム デザイナーに空白のフォームが表示され、すべての光沢のあるコンポーネントがデザイナーと自動生成コードの両方からすべて消去されています。このような単純なプログラムでは、これが私が費やした作業の約 80% です。

さて、NetBeans では、ファイルのタブを右クリックして、前のバージョンに戻るだけで、おそらく 15 分の作業時間を失うことになります。これは非常に明白な概念ですが、Visual Studio でファイル履歴を見つける場所がわかりません。それで、私が自分の仕事を取り戻すことができるように、同等のものはどこにありますか?

(また、コード全体を元に戻すだけでコードを元に戻すことができましたが、デザイナーはそれを認識せず、コンパイラも認識しないため、まだ空白のフォームにビルドされます。)

4

6 に答える 6

2

残念ながら、いくつかのことを学んだばかりです。

1 つは、デザイナーが生成したコードを決して変更しないことです。実際、C# には部分クラスと呼ばれる概念があり、生成されたファイルを変更せずに生成されたクラスを変更できます。

2 つ目は、Visual Studio 自体にはソース コード管理が組み込まれていないことです。好きなものを選択し、それを熱心に使用する必要があります。最も人気のあるものは、git、subversion、mercurial、および Team Foundation Server です。個人的にはsvnを使っていますが、他も良いです。Visual SourceSafe (VSS) と呼ばれるものは避けてください。

于 2012-09-18T01:30:38.557 に答える
2

その音から、コードのある時点まで ctrl-z を試したと思いますが、デザイナーでは試していませんか?

コードを配置するコード ビハインド ファイルで複数の「元に戻す」を実行することと、デザイナーで「元に戻す」を実行することは別のことです。

Visual Studio をまだ閉じておらず、空白のフォームをデザイン ビューで表示し、そこで ctrl-z を何度も押してみるとうまくいくかもしれません。

于 2012-09-18T01:33:50.133 に答える
1

実際には、コントロールは Design コードまたは Initialize Component() から失われません。

Initialize Component() { this.controls.add("コントロールの場所") }

例: 1-this.Controls.Add(this.panel1.label1); 2-this.Controls.Add(this.panel1.label2);

以下のように書くことができる形式のいずれか

Initialize Component() に書き込む必要があります

 this.Controls.Add(this.label1);
于 2013-02-01T06:51:58.383 に答える
1

同様の効果がありました。プロジェクトが完全にコンパイルされたため、コードは失われませんでしたが、デザイナーで空白のフォームしか取得できませんでした。

これは、フォームが別のフォームから継承されたためで、ベース フォームの Load イベントに次の行を追加しました: this.MdiParent = Application.OpenForms("BaseForm");

この行を削除 (および再コンパイル) した後、下降フォームの設計に再びアクセスできました。

于 2013-03-28T11:01:59.450 に答える
0

あなたができることの1つは、今回は役に立ちませんが、将来的には良い考えかもしれません-コードをたくさんコピーする場合(私のように)、ClipTrapのようなクリップボードセーバーの1つを入手してください(これは軽量です、シンプルで素晴らしい)。

次に、行ったことを元に戻すことができないことに気付いた場合は、「トラップされた」テキストを実行して、必要なものがそこにあるかどうかを確認することで、2 度目のチャンスが得られます。

別の良いオプションは、AutoVerのようなものを試すことです。これは、変更されたファイル (またはフォルダー内のファイル) のコピーを必要に応じて頻繁に保存します。これにより、コードファイルまたはプロジェクト全体のバックアップを 5 分ごと、または何かが変更されている限り 1 分ごとに提供できます。素晴らしいプログラム。これは、ソース管理、または少なくともソース バックアップの特定の方法です。

(いいえ、私はどちらのアプリケーションの作成者でもありません)

ただし、特定の問題について、コードがまだ designer.cs ページにある場合は、参照または名前空間を消去した可能性があります。名前空間が一致していることを確認し、フォームのコード ファイルでInitializeComponent();関数が呼び出されていることを確認します (これにより、すべてのデザイナーのコントロールがフォームに配置されます)。

于 2013-05-02T02:59:17.907 に答える