Visual Studio Express 2010 ENU SP1を使用してC#Windowsフォームアプリケーションを作成しています。 VSの詳細は、この投稿の下部にあります。最近、デザイナービューを使用してレイアウトにいくつかの変更を加えた後、変更が必要ないと判断したため、デザイナーウィンドウを閉じました。プロジェクトを閉じたときにコードウィンドウがまだ開いていて、変更が保存されました。ビジュアルデザイナーウィンドウを再度開く方法が見つからないという事実を除き、レイアウトは簡単に復元できるため、変更については気にしません。ウィンドウを元に戻すために、次のことを試しました。
Shift F7
デザイナーコードウィンドウを右クリックします
ソリューションエクスプローラーでデザイナーファイルをダブルクリックします。
ソリューションエクスプローラーでデザイナーファイルを選択し、コンテキストメニューを使用してファイルを表示します
VS 2010チームの評価版があり、プロジェクトを利用するときにまったく同じ動作を示します
プロジェクトのバックアップコピーを試しましたが、ExpressバージョンとTeamバージョンの両方で同じ問題が表示されます
私はMSDN、VSフォーラム、およびインターネット全般にわたっていたが、解決策を見つけられなかった
プロジェクトを最初に開始したとき、ソリューションエクスプローラーからForm1.csファイルの名前を変更しました。これは、アプリケーションのForm1とは異なる名前にしたかったためです。これを行うとき、それは次を尋ねました:
「ファイルの名前を変更しています。このプロジェクトで、コード要素「projectname」へのすべての参照の名前を変更しますか?
はいと答えました。だから今、私はForm1.csファイルを持っていませんが、「projectname.cs」と「projectname.Design.cs」という名前のデザイナーファイルを持つファイルです。関連します。Form1.csに名前を変更しようとしましたが、それでも問題は解決しませんでした。
Visual Studioの使用は初めてだと言わざるを得ません。これまでのところ、私はかなり気に入っていますが、私は今水で死んでおり、これを解決できなければ、2週間分の仕事を失います。どんな援助も大歓迎です。
ありがとう、トム
追加の詳細:
Windows 7 Professional SP1 32ビットx86
Microsoft Visual Studio 2010バージョン10.0.40219.1 SP1Rel Microsoft .NET Frameworkバージョン4.0.30319 SP1Rel
インストール済みバージョン:C#Express
Microsoft Visual C#2010 01014-169-2560017-70726 Microsoft Visual C#2010
Microsoft Visual C#2010 Express-ENU Service Pack 1(KB983509)KB983509このサービスパックは、Microsoft Visual C#2010 Express-ENU用です。後でより新しいサービスパックをインストールすると、このサービスパックは自動的にアンインストールされます。
これは今ではかなり古いスレッドであることがわかりましたが、VS2010のプロジェクトの1つで同様のことが発生しました。フォームデザイナでフォームを編集する方法はありませんでした。
最終的に、.csprojファイルの問題まで追跡しました。コンパイルされるものを指定するアイテムグループがあります。アイテムグループタグ内では、私のフォームでは...
<Compile Include="AreaChart.cs" />
それが必要でした...
<Compile Include="AreaChart.cs">
<SubType>Form</SubType>
</Compile>
SubType XMLタグがありませんでした。プロジェクトファイルをすばやく変更すると、フォームを再度編集できます。
フォームデザイナーを台無しにするもう1つの方法-私は次のようなものを持っていました:
namespace MyProgram
{
public struct SomeStruct {
int a,b;
}
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
}
}
すべてが正常に機能し、エラーが発生していなくても、SomeStruct定義をそこに配置できないことがわかりました。一度移動すると、デザイナービューを再び見ることができました。
繰り返しますが、これは古いスレッドですが、Webの関心は、多くの人々がまだこの問題を抱えており、解決されていないことを示しています。
私はVS2012を使用していますが、3つのフォームを生成するライブラリコントロールをコピーして、さらに開発するために別のライブラリに問題が発生しました。フォームのすべてのコントロールは実行時に完全に表示されましたが、デザイナーは空白のフォームを表示しました。
問題は上記のとおりではありませんでした(そのままでした)が、このヒントのおかげで、新しいフォームを追加し、.csprojファイルのエントリを比較しました。コピーされたフォームごとに、次のようなエントリが表示されていました。
<Compile Include="MyForm.Designer.cs" />
必要なのは:
<Compile Include="MyForm.Designer.cs">
<DependentUpon>MyForm.cs</DependentUpon>
</Compile>
フォームごとにこれらを手動で追加することで問題が解決しました。
デザイナーの部分クラスの前にクラスが宣言されていないことを確認してください。 .csファイルには、ファイルの最初のクラスとして部分的なデザイナークラスが必要です。
public partial class frmWidget : Form
{
}
public class SomeClass
{
}
これで、SomeClass
を部分frmWidget
クラスの上に置くことはできません。再配置すると、デザイナーの問題が自動的に修正され、VSを再起動したり、フォームを再作成したりする必要がなくなります。これがお役に立てば幸いです。
この質問に記載されているすべての提案を試しましたが、Visual Studio Community 2017では何も機能しませんでした
MainForm.cs
ファイル(または名前に応じて 'Form.cs')を右クリックしますMainForm.cs
を選択します。これにより、3つすべてのファイルが再び含まれます。MainForm.cs
をダブルクリックすると、デザインビューが魔法のように開きます私は同じ問題を抱えていましたが、VS2012でフォームのいくつかを別のフォルダーにドラッグアンドドロップすることで問題が発生しました。
上記のDavidの解決策は、修正に役立ちましたが、完全には行きませんでした。
サブフォルダーにフォームがある場合、Compile Include
行は次のようになります。
<Compile Include="SubFolderName\MyForm.Designer.cs">
<DependentUpon>MyForm.cs</DependentUpon>
</Compile>
1行目にはサブフォルダー名が必要ですが、2行目には必要ありません。
また、resxファイルを関連付けるために、ファイルの下のEmbeddedResource行を変更する必要がありました。
<EmbeddedResource Include="SubFolderName\MyForm.resx">
<DependentUpon>MyForm.cs</DependentUpon>
</EmbeddedResource>
繰り返しますが、最初の行ではサブフォルダーについて言及していますが、2番目の行では言及していません。
考えてくれてありがとう。 VS 2010のチームバージョンのExpressコピーと評価コピーの両方を完全に再インストールしただけで、現在は魔法のように機能しています。何が問題を引き起こしたのか、何がそれを修正したのかはわかりませんが、今は軌道に乗っています。このフォーラムで質問する前に、おそらくそれを行うべきだったでしょう。
VBでも同じ問題が発生しました。ヒントをありがとう。 UserControlの.vbprojでも同じ問題が見つかりました。
私はこれを.vbprojファイルに入れました:
<Compile Include="AddCommunicationTask.vb" />
そしてこれをこれに変更しました:
<Compile Include="AddCommunicationTask.vb">
<SubType>UserControl</SubType>
</Compile>
再ロードしてもまだ問題があり、フォームクラスの上に別のクラスを記述したことに気付きました。これがエラーの原因でした。フォームクラスが最初でなければなりません。私がしなければならなかったのは、クラスを下に移動し、フォームクラスをトップクラスにすることだけでした。
これが他の人の役に立つことを願っています-幸運を!
p.s-コミュニティ2015を使用しています
同様の問題がありましたが、まったく同じではありませんでした。
あるプロジェクトから別のプロジェクトにフォームをコピーし(Windowsエクスプローラーを使用)、VSでプロジェクトを右クリックし、>追加>既存のアイテムを選択して、新しいプロジェクトに追加しました。
私の間違いは、フォーム(.cs、.designer.cs、および.resx)の3つのファイルをすべて追加することでした。 .csファイルのみを追加する必要がありました。
これはかなり古いスレッドですが、ケースと解決策を共有したいと思います。
同じ問題がありましたが、Form
にTelerik WinFormsコンポーネントを使用しました。 RadControls for WinFormsの設計時機能がTelerik.WinControls.UI.Design.dll
アセンブリ。次に、参照を追加すると、デザイナーが表示されます。
誤ってForm1 [Design]ファイルを削除しました。 Form1.hファイルをダブルクリックしても何も起こりません。プログラムが実行され、Buttons TextBoxesおよびLabelsがすべてあり、編集可能なForm1 [Design]が表示されませんでした。 [ヘッダーファイル]で[Form1.h]を選択し、Form1.Hファイルプロパティに移動しました。ドロップダウンから「ファイルタイプ」で「C++フォーム」に変更し、プログラムを閉じて再起動しました。これで、Form1.hをダブルクリックして、Form1 [design]を表示できるはずです。
これは本当に古いスレッドであることに気付きましたが、同じ問題があり、csprojファイルで迷子になる可能性のあるanotherノードがあることがわかりました。フォーム.resxにはEmbeddedResourceノードがあり、サブノードDesignerがありません。これにより、IDEでフォームコードを再度表示できました。
同じ問題が発生し、ソリューションエクスプローラーでForm1.csファイル(Form1.Designer.csファイルではなく)をダブルクリックして(デザイン)ウィンドウに戻りました。