我正在编写一个中等winforms应用程序...每隔一段时间,然后创建某些窗体,我得到这个异常。'System.OutOfMemoryException':创建窗口句柄时出错
我解决它在过去,但没有什么事情的正确udnerstanding ...
令人费解的部分是,昨天的一切工作得很好,当我finnished这种形式并测试它,现在我得到这样的:
类型 'System.OutOfMemoryException的' 未处理的异常在System.Windows.Forms.dll中
其他信息发生 :错误创建窗口句柄。
抛出异常在这个代码块:
public partial class PonovniIspisRacunaForm : Form
{
DataTable dnevniPrometTable;
DataTable kontrolnaTrakaTable;
DataTable ukupniDnevniPrometTable;
DataTable stavkeRacunaTable;
ZisCode.Hibernate.Mdb.DataModel dnevniPrometDataModel;
ZisCode.Hibernate.Mdb.DataModel kontrolnaTrakaDataModel;
OsnovniPodaci.Porezi.Stope stope;
string brojRacuna;
string ZKI;
string JIR;
string Operator;
//decimal ukupno = 0.00m;
decimal tarifa;
decimal kolicina;
decimal iznos;
decimal porez;
decimal porez25;
decimal porez05;
decimal porez13;
decimal povratnaUkupno;
decimal osnov25;
decimal osnov05;
decimal osnov13;
//decimal nabavna;
PrintDocument printDocument;
public PonovniIspisRacunaForm()
{
InitializeComponent();
}
private void FinancijskiRekapitular_Load(object sender, EventArgs e)
{
stope = new OsnovniPodaci.Porezi.Stope();
// popunjava današnji datum
this.dtpDatum.Value = DateTime.Today;
// Get Data Table za određeni datum:
dnevniPrometDataModel = ZisCode.DataModels.Get("DnevniPromet");
kontrolnaTrakaDataModel = ZisCode.DataModels.Get("KontrolnaTraka");
PrintSetup();
ukupniDnevniPrometTable = MergeDnevniKontrolna();
if (ukupniDnevniPrometTable.Rows.Count != 0)
{
FillComboBox();
}
}
private void FillComboBox()
{
cbBrojRacuna.DataSource = ZisCode.Methods.DataTableOperations.SortDataTable(ukupniDnevniPrometTable, "Dokument", "DESC") // orderbydescending
.AsEnumerable().GroupBy(row => row.Field<string>("Dokument")).Select(group => group.First()).CopyToDataTable(); // groupby brojRacuna-Dokument
cbBrojRacuna.DisplayMember = "Dokument"; // Broj Računa
cbBrojRacuna.ValueMember = "Dokument";
cbBrojRacuna.SelectedIndex = 0;
}
private void PrintSetup()
{
// priprema za ispis
printDocument = new PrintDocument();
printDocument.DefaultPageSettings.PaperSize = new PaperSize("Racun size", 295, 500);
printDocument.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(CreateRekapitular);
// uklanja poruku dialog box (printing ..) kod ispisa
PrintController printController = new StandardPrintController();
printDocument.PrintController = printController;
// popravlja font
printPreview.UseAntiAlias = true;
}
}
更具体这一行:this.dtpDatum.Value = DateTime.Today; 为什么?我不知道...
我试着seting dateTimePicker在构造函数中,我得到了不同的异常与窗口句柄无关。
我已阅读关于其他问题的这种情况,但没有真正点击我。
Winforms issue - Error creating window handle
这两个答案不帮我,因为答案是模糊的,希望我知道如何处置应该排在首位的工作。帮助,我是一个n00b!因为有人问我
你可以添加一些代码PrintSetup和FillComboBox()?你有一些一般的变数,你在关闭表格时做了什么? –
@WaiFungAuYeung是的,我确实有一堆变数,并在关闭表格我不处理大声笑我应该怎么做?即使加载表格 – ChenChi
时引发了这个异常我用更多的代码更新了这个问题 – ChenChi