我目前的Form1.cs太大了,所以我试图把它们分成多个小文件,这样代码更容易阅读。然而,我的方法可以满足我的需要,但同时也很烦人,因为我的每一个扩展都被视为一个表单。因此,如果我双击扩展,弹出的是一个表单而不是类。所以我必须继续点击然后按F7。请提供解决方案
Form1.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
test();
}
}
}
Form1_Ext.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WindowsFormsApplication2
{
public partial class Form1
{
public void test()
{
Console.WriteLine("hello");
}
}
}
Form1.Desginer.cs
namespace WindowsFormsApplication2
{
partial class Form1
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Text = "Form1";
}
#endregion
}
}
请看红框,任何扩展类都被视为它自己的形式而不是类。在min时,它应该指向Form1.cs,但它不是。
2条答案
按热度按时间bbmckpt71#
我不知道你在问什么。但是,如果您希望通过在
Form1
类上使用partial
关键字将Form代码拆分为多个文件,并使每个文件显示为 Solution Explorer 树中Form1条目的子项,则需要手动编辑 WindowsFormsApplication2.csproj 文件。在此之前,请确保您备份了它(如果不知道您正在做什么,很容易破坏您的项目)。如果你看一下这个文件,你会看到这样的东西:
您要做的是使“Form1_Ext.cs”DependentUpon 成为主表单条目。所以改变:
致:
我想这就是你要问的。
jpfvwuh42#
我希望你已经解决了。如果你感兴趣,这段代码似乎可以工作:
显然,您需要使用“设计师”关键字。
再见。