c# - 无法访问用户控制组件
问题描述
在我的用户控件中,我有一个名为的 datagridview dgvCustomers
,我想在 gridview 中加载客户,例如:
private void Form1_Load(object sender, EventArgs e)
{
db = new DatabaseContext();
dgvCustomers.DataSource = db.Customers.ToList();
}
但是我无法访问datagridview,我该怎么做?
这是我收到的错误:
当前上下文中不存在名称 dgvCustomers。
用户控件的名称是 CCCustomers。
解决方案
您的 datagridview对用户控件是私有的。CCCustomers.designer.cs
您可以通过检查自动生成 datagridview 代码的文件来确认这一点。
填充数据源的正确方法是在您的用户控件上创建一个公共方法,例如
public void LoadData(List<Customer> customers)
{
dgvCustomers.DataSource = customers;
}
你会从你的主窗体中调用它,如下所示:
private void Form1_Load(object sender, EventArgs e)
{
db = new DatabaseContext();
CCCustomers.LoadData(db.Customers.ToList());
}
推荐阅读
- excel - 根据两个单元格中的输入隐藏列
- flutter - 异步接收器完成后如何更新小部件?
- java - 通过 Google 脚本从 Android 设备发送到 Google 表格。这安全吗?
- c++ - 如何在 C++ 中递归地打印一个集合?
- typescript - 如何在 Visual Studio Code 中调试 Electron TypeScript 应用程序
- javascript - 为什么我收到 JavaScript Puppeteer 错误:“ECONNREFUSED”?
- c# - C# 初始化属性与使用构造函数初始化
- reactjs - 没有地图的反应和谷歌方向API
- function - Kotlin 合并函数
- r - 如何根据 R 中的 data.frame 中的特定变量检索极端年份的数据?