Hỏi về exception System.AccessViolentException

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.

Trong phương thức DrawColourMouseHoverMenuButton() làm những gì vậy bạn?

3 Likes

thanks, mình đã bổ sung thêm

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?