我有一個按以下方式設計的 Winforms 應用程式:帶有面板控制元件的外殼表單(主表單)通過單擊按鈕在其上顯示子表單。
private void btnInbox_Click(object sender, EventArgs e)
{
OpenChildForm(new InboxForm(), sender);
}
private Button currentButton;
private Form activeForm;
private void OpenChildForm(Form childForm, object btnSender)
{
if (activeForm != null)
{
activeForm.Close();
}
ActivateButton(btnSender);
activeForm = childForm;
childForm.TopLevel = false;
childForm.FormBorderStyle = FormBorderStyle.None;
childForm.Dock = DockStyle.Fill;
this.panelDesktop.Controls.Add(childForm);
this.panelDesktop.Tag = childForm;
childForm.BringToFront();
childForm.Show();
}
在 InboxForm 中我有 DataGridView (dgvRequests),在 InboxForm 的 Load 事件中,我正在實作 RefreshDGV() 方法
private void RefreshDGV()
{
//Loading requests from Requests table to DGV
SQL_Queries_Inbox q = new SQL_Queries_Inbox();
dgvRequests.DataSource = q.Get_RequestsFromSql();
dgvRequests.Columns["ID_Request"].Visible = false;
dgvRequests.Columns["Purchasing Date"].DefaultCellStyle.Format = "MM/dd/yyyy";
for (int i = 0; i < dgvRequests.Rows.Count; i )
{
DateTime dt = Convert.ToDateTime(dgvRequests.Rows[i].Cells["Purchasing Date"].Value);
if (dt.Year < 2002)
{
dgvRequests.Rows[i].Cells["Purchasing Date"].Style = new DataGridViewCellStyle { ForeColor = Color.Transparent, SelectionForeColor = Color.Transparent };
}
}
}
我的麻煩是所需單元格的前景色沒有改變,但是如果我創建一個具有相同 DataGridview 的新表單并實作相同的 Refresh DGV() 方法一切正常

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/433988.html
上一篇:部分類Winform表格
下一篇:使用依賴注入初始化主表單中的介面
