페인트 이벤트에서 RedrawLines() 메서드를 호출하면 효과적 이었지만 효과가 없어야하는 사소한 변경을 수행하고 이제는 문제가 발생합니다. 우선, 내가 각기 UserControl을 포함하는 탭을 전환하면 선은 이전과 같이 다시 그리지 않습니다. 게다가, MouseWheel을 사용할 때 UserControl의 위쪽과 아래쪽에 잘린 것처럼 선이 완전히 그려지지 않습니다. 그러나 ScrollBar를 사용하면 그 전체가 그려집니다. 어떤 생각? 나는 페인트 이벤트에서 이것을이 정확하게그래픽이 C#의 UserControl에 표시되지 않습니다.
private void RedrawLines(){
Graphics g = Graphics.FromHwnd(this.Handle);
g.Clear(Color.White);
g.Dispose();
for (int i =0; i < Set_Of_Connections.Count; i++)
{
DrawLine(Set_Of_Connections[i].ins.cb, Set_Of_Connections[i].outs.cb, Color.Green);
}
}
전화를 호출하는 RedrawLines 방법이
System.Drawing.Pen myPen;
myPen = new System.Drawing.Pen(Color.Black);
myPen.Width = 3;
System.Drawing.Graphics formGraphics = this.CreateGraphics();
formGraphics.DrawLine(myPen, p1.X, p1.Y, p2.X, p2.Y);
myPen.Dispose();
formGraphics.Dispose();
을 그럼 다음은
이 필요한 점을 얻기 후에 나의 DrawLine의 일부() 방법입니다 :
private void Switch_Paint(object sender, PaintEventArgs e)
{
RedrawLines();
}
그러나 내가 말했듯이 엘.
어제이 질문이 표시되지 않았습니까? 두 경우 모두 문제를 재현하는 코드를 게시하십시오. – LarsTech
당신의 열정에 감사 드리며, 아무런 문제가없는 것으로 보이지 않으므로 코드를 게시하지 않을 것입니다. 내면 문제에 더 가깝습니다. – Riftus