3

今朝、Visual Studio の Windows フォーム デザイナーで奇妙な問題に遭遇しました。変更なしで約1か月間機能するフォームがあります。アプリケーションでは次のようになります。

フォームがどのように見えるかのスクリーンショット

(ここでの法的な影響については完全には確信が持てないため、テキストは判読できません)。

今日から、どうやら(昨日デザイナーでフォームを問題なく開いていたと思います)、デザイナーでは次のようになります。

Windows フォーム デザイナーでのフォームの外観のスクリーンショット

差分を見ると、すべてのコントロール (またはほぼすべてのコントロール - ラベルは影響を受けませんでしたが、AutoSize に関連している可能性があります) の幅は 311 ピクセルです。次のような行は、デザイナーが混乱した後、ファイル全体で一般的です。

this.panel1.Size = new System.Drawing.Size(311, 24);

その価値がどこから来ても。さらに、1 つのラベルが興味深いテキストを取得しました"潐瑲⼠倠獯瑩潩㩮攀瑵慲ⱬ"(生のバイトでは意味がありません)。

デザイナーでフォームを開かないと、悪いことは何も起こりません。ファイルがそのままの場合でもプロジェクトがビルドされ、プログラムを実行すると問題なく表示されます。ただし、デザイナーを開くと、デザイナーが生成したコードで前述の変更がトリガーされ、それらの変更はコンパイル時に保持されます (明らかに)。

同僚のマシンでは、これはまったく起こりません (ただし、VS をクラッシュさせずにデータセットを開くことはできないため、ここでの両方の設定は少し奇妙です ...)。

ここで何が起こっているのか真剣に考えています。何か案は?

ETA:サイズ変更が暴走すると、デザイナーでコントロールのサイズを変更できません。サイズを変更すると、コントロールのサイズが変更されたかのように視覚的なアーティファクトが発生するだけですが、チェック時に幅が 311 ピクセルのままです。

ETA 2:奇妙なことに: デザイナーを開き (破損を引き起こします。これまでのところ非常に良好です)、AnkhSVN で保留中の変更に入り、ファイルへのすべての変更を元に戻すと、破損も元に戻ります。フォームは、デザイナーでもあるべきように見えます。閉じて再度開くまで。

4

5 に答える 5

4

犯人を見つけました。最近RockScrollをインストールしました。その動作を直接 RockScroll にリンクすることはできませんでしたが、一部のフォームではスクロールバーの代わりに描画されていることに気付きました。そして、そのフォームのコントロールは理由もなくサイズを変更しました。

RockScroll をアンインストールし、問題を解決しました。とにかく、すべての入力に感謝します。

于 2009-10-19T07:12:51.227 に答える
1

プロジェクトをクリーンアップしようとしましたか? (何も解決しないと思いますが、試してみる価値のある簡単なステップです)


また、Visual Studio のキャッシュを消去していただけますか? 同様の状況で何度も機能しました。

VS Cache Hell に関するいくつかのリンクを次に示します 。これに関する他の有用な情報を見つけた場合は、お気軽に私の投稿を編集してください。

于 2009-10-13T11:57:55.410 に答える
0

「同じ幅にする」ツールを使用して、デザイナーでワンクリックでそれを行うことができます。

私の経験では、ビルド中に Visual がフリーズした場合、画面上のランダムな場所をクリックして、VS が現在のタスクを完了しているかどうかをテストするのが一般的です)

ただし、単なるアイデアです。

于 2009-10-13T09:42:09.247 に答える
0

最近、別の言語パック (韓国語など) をインストールした可能性があります。

于 2009-10-13T09:46:36.420 に答える
0

フォームのコンストラクターまたは OnPaint メソッドで手動のレイアウトまたはアンカーを行っていますか? 一部の要素の位置を手動で変更しようとしていて、デザイナーがレンダリング中に無効な ClientRectangle (または何か) を渡していたため、同様の問題が発生したことがあります。

于 2009-10-13T09:47:55.350 に答える