C# 加载用户控件时出错
我想将自己设计的用户控件加载到表单中,但当我拖动并放置C# 加载用户控件时出错,c#,.net,object,user-controls,devexpress,C#,.net,Object,User Controls,Devexpress,我想将自己设计的用户控件加载到表单中,但当我拖动并放置用户控件时,它会产生错误。请参考我的屏幕截图并帮助我解决此问题。 我在代码中提到的错误是行号: private void populateTransfers(bool all) { AccountTransfer[] accounts; //List<ReferenceData._account> headers = ReferenceData.getInden
用户控件时,它会产生错误。请参考我的屏幕截图并帮助我解决此问题。
我在代码中提到的错误是行号:
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
}
}
private void populateransfers(bool all)
{
账户转账[]账户;
//List headers=ReferenceData.getIndentHeader_account();
如果(全部)
accounts=accountClient.getAllPendingTransfers();
其他的
accounts=accountClient.getPendingTransfers(Program.loggedInUser.account.id);//行号:47
如果(帐户!=null)
{
var query=来自帐户中的
选择新的
{
Id=a.Id,
Name=a.Name,
状态,状态,
Date=a.ludt.ToShortDateString()
};
this.gridPendingTransfers.DataSource=query.ToList();
this.gridPendingTransfers.RefreshDataSource();
}
其他的
{
CexAppUtil.ShowEmptyGrid(“没有挂起的传输”,this.gridPendingTransfers);
}
private void initializeData()
{
if(Program.loggedInUser!=null&&Program.loggedInUser.isAdmin())
{
PendingTransferOptions面板。可见=真;
showAllPendingTransfers.Visible=true;
如果(showAllPendingTransfers.Checked)populateTransfers(true);
否则,请输入(假);
}
其他的
{
PendingTransferOptions面板。可见=假;
showAllPendingTransfers.Visible=false;
populateransfers(false);//行号:167
}
}
请帮我解决这个问题
提前感谢。通过启动visual studio的新实例并将调试器附加到第一个实例的进程,您可以在自定义控件中调试并找到错误。
之后,您可以添加新控件并查看哪个对象为空。正在构造函数中执行某些工作?从构造函数中删除所有代码,而不是InitilizeComponents()。然后创建一个新的Initilize方法,从该方法中复制构造函数中的代码。此方法可以在form.load或其他形式中调用。请尝试;)–@Sebi
谢谢大家。也许
accountClient
为空?正在构造函数中做一些工作?从构造函数中删除所有代码,而不是InitilizeComponents()。然后创建一个新的Initilize方法,从构造函数中复制代码。这个方法可以在form.load或其他形式中调用。尝试一下;)