Em đang học WinForm và đang làm một cái project nhỏ thì bị vướng cái lỗi này
private void BtnKineticsInput_Click(object sender, EventArgs e)
{
DrawColourMouseHoverMenuButton(btnKineticsInput);
pnlKineticsInput.Visible = true; // Nơi throw System.AccessViolentException
pnlModelsInput.Visible = false;
pnlNuclideInput.Visible = false;
pnlHomeInput.Visible = false;
pnlDoseOutput.Visible = false;
}
// Hàm này để chỉnh màu cho button khi được click vào
public void DrawColourMouseHoverMenuButton(BunifuThinButton2 btn)
{
btnNuclideInput.IdleFillColor = Color.White;
btnNuclideInput.IdleForecolor = Color.SeaGreen;
btnModelsInput.IdleFillColor = Color.White;
btnModelsInput.IdleForecolor = Color.SeaGreen;
btnKineticsInput.IdleFillColor = Color.White;
btnKineticsInput.IdleForecolor = Color.SeaGreen;
btnDose.IdleFillColor = Color.White;
btnDose.IdleForecolor = Color.SeaGreen;
btnHomeInput.IdleFillColor = Color.White;
btnHomeInput.IdleForecolor = Color.SeaGreen;
btn.IdleFillColor = Color.SeaGreen;
btn.IdleForecolor = Color.White;
}
Em dịch nó ra là nó đang cố gắng truy cập vào một vùng nhớ đã được bảo vệ, đây là dấu hiệu cho thấy vùng nhớ bị hỏng,… Mà vẫn không hiểu nó có liên quan gì ạ, chỉ là một thuộc tính mà quăng ra lỗi này (Lỗi cũng tương tự nếu ghi là pnlKineticsInput.Show() , search trên google thì đọc cũng không hiểu mấy…
Các button còn lại có event cũng y chang như vậy, chỉ khác mỗi true/false nhưng đôi lúc vẫn ra lỗi y chang vậy. Vả lại lỗi này chạy chương trình thì lúc bị, lúc không… Và hầu như bắt khối lệnh này bằng try catch cũng không ăn thua.
Mong mọi người giúp ạ, em mới học nên có gì mọi người thông cảm.