我想将自己设计的用户控件加载到表单中,但是当我拖动并放置用户控件时,它会产生错误。请参考我的屏幕截图并帮我解决这个问题。
我在代码中提到的错误是第no行:
private void populateTransfers(bool all)
{
AccountTransfer[] accounts;
//List<ReferenceData._account> headers = ReferenceData.getIndentHeader_account();
if (all)
accounts = accountClient.getAllPendingTransfers();
else
accounts = accountClient.getPendingTransfers(Program.loggedInUser.account.id);//line no:47
if (accounts != null)
{
var query = from a in accounts
select new
{
Id = a.id,
Name=a.name,
Status = a.status,
Date = a.ludt.ToShortDateString()
};
this.gridPendingTransfers.DataSource = query.ToList();
this.gridPendingTransfers.RefreshDataSource();
}
else
{
CexAppUtil.ShowEmptyGrid("No pending transfers", this.gridPendingTransfers);
}
private void initializeData()
{
if (Program.loggedInUser != null && Program.loggedInUser.isAdmin())
{
pendingTransferOptionsPanel.Visible = true;
showAllPendingTransfers.Visible = true;
if (showAllPendingTransfers.Checked) populateTransfers(true);
else populateTransfers(false);
}
else
{
pendingTransferOptionsPanel.Visible = false;
showAllPendingTransfers.Visible = false;
populateTransfers(false);//line no:167
}
}
请帮我解决这个问题。
先谢谢。
答案 0 :(得分:0)
您可以通过启动Visual Studio的新实例并将调试器附加到第一个实例的进程来调试和查找自定义控件中的错误。 之后,您可以添加新控件并查看哪个对象为空。
答案 1 :(得分:0)
在构造函数中做了一些工作吗?从构造函数中删除所有代码而不是InitilizeComponents()。然后创建一个新的Initilize方法,从构造函数中复制代码。你在form.load或sth中调用的这个方法。尝试一下;) - @ Sebi
感谢每一个人。