c# - ventana - Archivos de formularios y diseñadores que no enlazan en el Explorador de soluciones
lineshape c# no aparece (5)
Compruebe el archivo de proyecto ( .csproj
).
Dentro del nodo ItemGroup
, vea si el archivo .designer
está asociado con el archivo de código subyacente. El XML debería verse algo como esto:
<Compile Include="FormPrompt.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="FormPrompt.Designer.cs">
<DependentUpon>FormPrompt.cs</DependentUpon>
</Compile>
Parece que no puedo obtener el formulario y los archivos del diseñador para vincularlo en mi proyecto. Se ven así en el Explorador de soluciones.
He excluido los archivos del proyecto y luego traté de incluirlos nuevamente en el proyecto, pero esto no funcionó. A continuación se muestra el código del diseñador y un fragmento del código de formularios en caso de que haya algo allí.
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);
}
}
Compruebe el proyecto (.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>
En VS2017 (c #) para resolverlo, en mi caso:
- excluir todo el archivo
- ir a la carpeta
- renombrar archivo (los 3 archivos .cs.Designer.cs .resx)
- refrescar la solución
- añadir al proyecto de nuevo
He visto el mismo problema en Visual Studio 2008. Generalmente, después de compilar, cerrar y volver a abrir la solución, el problema se solucionaba solo. En Visual Studio 2012, sé que tengo problemas si intento Agregar> Elemento existente y elijo los tres archivos. Por lo general, solo desea agregar el nivel superior de form.cs y VS incluirá automáticamente los archivos .designer.cs y .resx.
incluya el archivo .resx en el proyecto y en las propiedades de este conjunto de archivos Herramienta personalizada como ResXFileCodeGenerator