Program.cs 文件不接受我创建的表单名称

-1 c# winforms

我一直在使用 Visual Studio Forms 创建一个大学课程应用程序,我试图启动我制作的表单来检查它是否连接到其背后的数据库,但它不会接受表单的名称合法的。我不知道为什么,因为它出现在解决方案资源管理器中。

这是program.cs的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace FoxhillCustomer
{
    internal static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new frmViewEditStaff());
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是 frmViewEditStaff.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;
using System.Data.SqlClient;

namespace FoxhillViewEditStaff
{
    public partial class frmViewEditStaff : Form
    {
        SqlDataAdapter daViewEditStaff;
        DataSet dsFoxhillDentistryFinal = new DataSet();
        SqlCommandBuilder cmdBViewEditStaff;
        DataRow drViewEditStaff;
        String connStr, sqlViewEditStaff;
        int selectedTab = 0;
        bool staffSelected = false;
        int staffNoSelected = 0;

        public frmViewEditStaff()
        {
            InitializeComponent();
        }

        private void frmViewEditStaff_Load(object sender, EventArgs e)
        {
            connStr = @"Data Source = .\sqlexpress; Initial Catalog = InTheDogHouse; Integrated Security = true";

            sqlViewEditStaff = @"select * from Staff";
            daViewEditStaff = new SqlDataAdapter(sqlViewEditStaff, connStr);
            cmdBViewEditStaff = new SqlCommandBuilder(daViewEditStaff);
            daViewEditStaff.FillSchema(dsFoxhillDentistryFinal, SchemaType.Source, "ViewEditStaff");
            daViewEditStaff.Fill(dsFoxhillDentistryFinal, "ViewEditStaff");


            dgvStaff.DataSource = dsFoxhillDentistryFinal.Tables["Staff"];
        dgvStaff.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);

        tabStaff.SelectedIndex = 1;
        tabStaff.SelectedIndex = 0;

    }
}
Run Code Online (Sandbox Code Playgroud)

}

Visual Studio 屏幕

Jon*_*eet 7

您的表单位于 的命名空间中FoxhillViewEditStaff。您的Program类位于 的命名空间中FoxhillCustomer,并且您没有usingFoxhillViewEditStaff命名空间的指令。

我强烈建议您:

  • 对项目中的所有类使用单个命名空间
  • 重命名所有表单以遵循正常的 .NET 命名约定,以使代码更清晰

可以只添加一个using指令,但将这些类放入同一个命名空间中会更明智,IMO。