Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Form and designer files not linking in Solution Explorer

I can't seem to get the form and the designer files to link in my project. They look like this in the Solution Explorer.

enter image description here

I have excluded the files from the project and then tried including them back in the project, but this didn't work. Below is the designer code and a snippet of the forms code in case there is something in there.

public partial class FormPrompt
{
  private Button ButtonOk;
  private Container Components;
  private Label LabelPleaseEnter;
  private Label LabelPrompt;
  private TextBox TextBoxData;

  private void InitializeComponent()
  {
    this.LabelPleaseEnter = new Label();
    this.LabelPrompt = new Label();
    this.TextBoxData = new TextBox();
    this.ButtonOk = new Button();
    this.LabelPleaseEnter.Location = new Point(8, 0x58);
    this.LabelPleaseEnter.Size = new Size(0x48, 0x10);
    this.LabelPleaseEnter.Text = "Please enter";
    this.LabelPrompt.Location = new Point(80, 0x58);
    this.LabelPrompt.Size = new Size(0x98, 0x10);
    this.LabelPrompt.Text = "LabelPrompt";
    this.TextBoxData.Location = new Point(8, 0x80);
    this.TextBoxData.Size = new Size(0xe0, 20);
    this.TextBoxData.Text = "TextBoxData";
    this.TextBoxData.KeyDown += new KeyEventHandler(this.FormPrompt_KeyDown);
    this.ButtonOk.Location = new Point(8, 0x100);
    this.ButtonOk.Size = new Size(0xe0, 0x38);
    this.ButtonOk.Text = "Ok";
    this.ButtonOk.Click += new EventHandler(this.ButtonOk_Click);
    base.ClientSize = new Size(240, 0x13e);
    base.Controls.Add(this.TextBoxData);
    base.Controls.Add(this.ButtonOk);
    base.Controls.Add(this.LabelPrompt);
    base.Controls.Add(this.LabelPleaseEnter);
    this.Text = "WinForm";
    base.KeyDown += new KeyEventHandler(this.FormPrompt_KeyDown);
  }
}    


public partial class FormPrompt : Form
{

  internal DateTime FDateData;
  internal DateTimePicker FDatePicker;
  internal decimal FDecimalData;
  internal int FIntData;
  internal TPromptType FPromptType;
  internal string FStringData;


  public FormPrompt()
  {
    this.InitializeComponent();
    this.FDatePicker = new DateTimePicker();
    this.FDatePicker.Top = this.TextBoxData.Top;
    this.FDatePicker.Left = this.TextBoxData.Left;
    this.FDatePicker.Width = this.TextBoxData.Width;
    this.FDatePicker.Height = this.TextBoxData.Height;
    this.FDatePicker.Format = DateTimePickerFormat.Short;
    base.Controls.Add(this.FDatePicker);
  }
}
like image 933
energ1ser Avatar asked Mar 24 '14 01:03

energ1ser


3 Answers

I've seen the same problem in Visual Studio 2008. Usually after compiling or closing and re-opening the solution the problem would fix itself. In Visual Studio 2012 I know that I have problems if I try to Add > Existing Item and choose all three files. Typically you only want to add the top level form.cs and VS will automatically include the .designer.cs and .resx files.

like image 54
CtrlDot Avatar answered Oct 27 '22 20:10

CtrlDot


Check the project (.csproj) file.

Inside the ItemGroup node, see if the .designer file is associated with the code-behind file. The XML should look something like this:

<Compile Include="FormPrompt.cs">
    <SubType>Form</SubType>
</Compile>
<Compile Include="FormPrompt.Designer.cs">
    <DependentUpon>FormPrompt.cs</DependentUpon>
</Compile>
like image 40
Grant Winney Avatar answered Oct 27 '22 18:10

Grant Winney


Check the project (.csproj)

<EmbeddedResource Include="Properties\Resources.resx">
  <Generator>ResXFileCodeGenerator</Generator> Check this
  <SubType>Designer</SubType>
  <LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>

<Compile Include="Properties\Resources.Designer.cs">
  <AutoGen>True</AutoGen> And Check this
  <DesignTime>True</DesignTime>
  <DependentUpon>Resources.resx</DependentUpon>
</Compile>
like image 31
Anıl Avatar answered Oct 27 '22 18:10

Anıl