Tôi đang cố gắng để có được từ Line # 1 tới Line # 2 trong các mã dưới đây:Không làm mất hiệu lực() cũng không Refresh() gọi OnPaint()
using System;
using System.Windows.Forms;
namespace MyNameSpace
{
internal class MyTextBox : System.Windows.Forms.TextBox
{
protected override void OnEnabledChanged(EventArgs e)
{
base.OnEnabledChanged(e);
Invalidate(); // Line #1 - can get here
Refresh();
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
System.Diagnostics.Debugger.Break(); // Line #2 - can't get here
}
}
}
Tuy nhiên, có vẻ như neiter làm mất hiệu lực() cũng không làm mới() làm cho OnPaint (PaintEventArgs e) được gọi. Hai câu hỏi:
- Tại sao nó không hoạt động?
- Nếu không khắc phục được: Tôi chỉ muốn gọi OnPaint (PaintEventArgs e) để truy cập đối tượng e.Graphics - có cách nào khác để thực hiện việc này không?
Cảm ơn rất nhiều, SLC! Tôi đang làm cho câu trả lời này được chấp nhận. – user181813