启动Windows窗体应用程序时,按钮为空白

时间:2017-06-23 09:15:29

标签: c# .net winforms

当我第一次打开Windows窗体应用程序时,某些按钮无法正确呈现,当窗体稍微移动时,它们会出现。

见下文。

before

拖动表单后显示

after

这是我的启动代码。

    elif addordelete = "delete":
         whichdelete = input("What thing do you want to delete? ")

这不是一个令人烦恼的重大问题,因为我不知道它为什么会发生。

这是表格代码。

[STAThread]
static void Main()
{
    bool createdNew = true;

    using (Mutex mutex = new Mutex(true, "Support_Desk_System", out createdNew))
    {
        if (createdNew)
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
            GC.KeepAlive(mutex);
        }
        else
        {
            Process current = Process.GetCurrentProcess();

            foreach (Process process in Process.GetProcessesByName(current.ProcessName))
            {
                if (process.Id != current.Id)
                {
                    SetForegroundWindow(process.MainWindowHandle);
                    break;
                }
            }
        }
    }
}

1 个答案:

答案 0 :(得分:1)

似乎在dataGridView1_CellFormatting中做太多会导致问题。

我将代码缩减为:

private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
    foreach (DataGridViewRow Myrow in dataGridView1.Rows)
    {    
        if (Myrow.Cells[7].Value.ToString() == "High")
        {
            Myrow.DefaultCellStyle.BackColor = Color.Red;
        }
        //else
        //{
        //  Myrow.DefaultCellStyle.BackColor = Color.Green;
        //}
        if(Myrow.Cells[2].Value.ToString() == "Back Burner")
        {
            Myrow.DefaultCellStyle.BackColor = Color.Gray;
            Myrow.DefaultCellStyle.ForeColor = Color.White;
        }
    }
}

并将默认行颜色设置为绿色,现在它可以正常工作。