사용중인 컨트롤 페인트 이벤트를 자동으로 감지하려면 어떻게해야합니까?

user3117033

예를 들어 Form1페인트 이벤트가 있습니다.

private void Form1_Paint(object sender, PaintEventArgs e)
{
     TextDrawer draw = new TextDrawer(e.Graphics,this,8.25);
}

새 클래스 TextDrawer에서이 경우 form1 컨트롤 이름을 입력해야하므로 다음을 입력합니다.

이것은 새로운 클래스입니다 :

class TextDrawer
{
        private readonly Graphics g;
        private readonly Control c ;
        private readonly double font_size;

        public TextDrawer(Graphics g,Control c,
                          double font_size)
        {
            this.g = g;
            this.c = c;
            this.font_size = font_size;
        }

        public void DrawText(string text,Color pen_color,Color brushes_color, Point point1, Point point2, Point point3)
        {
            c.Font = new Font(c.Font.FontFamily.Name, (float)font_size);
            SolidBrush brush = new SolidBrush(brushes_color);
            using (Pen pen = new Pen(pen_color, 10f))
            {
                Point pt1 = point1;
                Point pt2 = point2;
                g.DrawLine(pen, point1, point2);
            }

            g.DrawString(text,
                    c.Font, brush, point3);
        }
    }

예를 들어 클래스에 대한 새 인스턴스를 만들면 컨트롤의 페인트 이벤트 내부에 입력하면 form1 pictureBox1 레이블이 페인트 이벤트가있는 컨트롤을 어떻게 든 만들고 싶습니다.

TextDrawer draw = new TextDrawer(e.Graphics,8.25);

그리고 새 클래스는 컨트롤 이름을 자동으로 감지 / 찾아 사용자가 입력 할 필요가 없습니다 : this 또는 pictureBox1 또는 label1 ...

그것을 할 방법이 있습니까?

압바스

예를 들어 TextChangedTextBox 이벤트에서 sender인수를 Control로 전달할 수 있습니다 .

private void YourTextBoxOne_TextChanged(object sender, EventArgs e)
{
    TextBoxTextChanged((TextBox)sender);
}

private void YourTextBoxTwo_TextChanged(object sender, EventArgs e)
{
    TextBoxTextChanged((TextBox)sender);
}

private void TextBoxTextChanged(TextBox tb)
{
    var draw = new TextDrawer(tb, 8.25);
    //Do something
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

외부 파일 / 사용자 컨트롤을 동적으로 포함하려면 어떻게해야합니까?

분류에서Dev

인 텐트 감지 API에서 dialogflow 이벤트를 트리거하려면 어떻게해야합니까?

분류에서Dev

내 사용자 지정 컨트롤을 Xamarin Forms에서 플로팅하려면 어떻게해야합니까?

분류에서Dev

Selenium 웹 드라이버로 Windows 인증 프롬프트를 감지하려면 어떻게해야합니까?

분류에서Dev

Skype 자체 업데이트를 자동으로 중지하려면 어떻게해야합니까?

분류에서Dev

laravel / socialite 및 facebook / graph-sdk를 사용하는 동안 컨트롤러에서 Facebook 페이지 게시물을 보내려면 어떻게해야합니까?

분류에서Dev

Blazor 웹 어셈블리 프로젝트의 서버 측 컨트롤러에서 사용자를 인증하려면 어떻게해야합니까?

분류에서Dev

Android의 웹 인 텐트에서 로컬 HTML 페이지를 시작하려면 어떻게해야합니까?

분류에서Dev

자체 DataTemplate DependencyProperty를 사용하여 WPF 컨트롤을 구현하려면 어떻게해야합니까?

분류에서Dev

키 누름으로 인해 스크롤 막대 컨트롤의 값이 변경되지 않도록하려면 어떻게해야합니까?

분류에서Dev

SAP UI의 컨트롤러에서 사용자 지정 컨트롤러를 정의하려면 어떻게해야합니까?

분류에서Dev

Arduino 컨트롤러와 키보드를 동시에 사용하려면 어떻게해야합니까?

분류에서Dev

Bearer 토큰으로 웹 사이트에서 웹 API 컨트롤러를 인증하려면 어떻게해야합니까?

분류에서Dev

한 컨트롤에서 다른 컨트롤로 데이터 바인딩을 복사하려면 어떻게해야합니까?

분류에서Dev

재료를 선택적으로 지원하는 사용자 지정 양식 컨트롤을 만들려면 어떻게해야합니까?

분류에서Dev

이벤트 뷰어를 사용하여 사용자가 필터링 한 로그인 시간을 확인하려면 어떻게해야합니까?

분류에서Dev

jquery로 $ (window) .scroll 이벤트를 중지하려면 어떻게해야합니까?

분류에서Dev

루프백 인터페이스를 사용하지 않고 호스트 자체에서 포트를 스캔하려면 어떻게해야합니까?

분류에서Dev

Swift : 사용자 지정 segue 이후에 임베디드 네비게이션 컨트롤러를 유지하려면 어떻게해야합니까?

분류에서Dev

각도 지시문이있는 구문으로 컨트롤러를 어떻게 사용해야합니까?

분류에서Dev

사용자 지정 컨트롤의 "데이터 소스 선택기 편집기"를 올바르게 사용하려면 어떻게해야합니까?

분류에서Dev

마우스 입력 이벤트에서 새 양식 / 사용자 컨트롤이 Form1의 중앙으로 이동하려면 어떻게해야합니까?

분류에서Dev

크롬 확장 프로그램을 사용하여 웹 페이지의 onClick 이벤트에서 메시지를 받으려면 어떻게해야합니까?

분류에서Dev

사용자 정의 컨트롤의 모든 속성을 제거하려면 어떻게해야합니까?

분류에서Dev

Amazon API Gateway로 사용자 지정 엔드 포인트를 생성하려면 어떻게해야합니까?

분류에서Dev

Electron Menu click () 이벤트를 사용하여 Vue 경로를 변경하려면 어떻게해야합니까?

분류에서Dev

그룹 상자 컨트롤에 패딩을 올바르게 적용하려면 어떻게해야합니까?

분류에서Dev

tun0 인터페이스 작동 / 작동 중지 이벤트가 발생할 때 스크립트가 자동으로 실행되도록하려면 어떻게해야합니까?

분류에서Dev

위아래로 스크롤하기위한 사용자 지정 이벤트를 만들려면 어떻게해야합니까?

Related 관련 기사

  1. 1

    외부 파일 / 사용자 컨트롤을 동적으로 포함하려면 어떻게해야합니까?

  2. 2

    인 텐트 감지 API에서 dialogflow 이벤트를 트리거하려면 어떻게해야합니까?

  3. 3

    내 사용자 지정 컨트롤을 Xamarin Forms에서 플로팅하려면 어떻게해야합니까?

  4. 4

    Selenium 웹 드라이버로 Windows 인증 프롬프트를 감지하려면 어떻게해야합니까?

  5. 5

    Skype 자체 업데이트를 자동으로 중지하려면 어떻게해야합니까?

  6. 6

    laravel / socialite 및 facebook / graph-sdk를 사용하는 동안 컨트롤러에서 Facebook 페이지 게시물을 보내려면 어떻게해야합니까?

  7. 7

    Blazor 웹 어셈블리 프로젝트의 서버 측 컨트롤러에서 사용자를 인증하려면 어떻게해야합니까?

  8. 8

    Android의 웹 인 텐트에서 로컬 HTML 페이지를 시작하려면 어떻게해야합니까?

  9. 9

    자체 DataTemplate DependencyProperty를 사용하여 WPF 컨트롤을 구현하려면 어떻게해야합니까?

  10. 10

    키 누름으로 인해 스크롤 막대 컨트롤의 값이 변경되지 않도록하려면 어떻게해야합니까?

  11. 11

    SAP UI의 컨트롤러에서 사용자 지정 컨트롤러를 정의하려면 어떻게해야합니까?

  12. 12

    Arduino 컨트롤러와 키보드를 동시에 사용하려면 어떻게해야합니까?

  13. 13

    Bearer 토큰으로 웹 사이트에서 웹 API 컨트롤러를 인증하려면 어떻게해야합니까?

  14. 14

    한 컨트롤에서 다른 컨트롤로 데이터 바인딩을 복사하려면 어떻게해야합니까?

  15. 15

    재료를 선택적으로 지원하는 사용자 지정 양식 컨트롤을 만들려면 어떻게해야합니까?

  16. 16

    이벤트 뷰어를 사용하여 사용자가 필터링 한 로그인 시간을 확인하려면 어떻게해야합니까?

  17. 17

    jquery로 $ (window) .scroll 이벤트를 중지하려면 어떻게해야합니까?

  18. 18

    루프백 인터페이스를 사용하지 않고 호스트 자체에서 포트를 스캔하려면 어떻게해야합니까?

  19. 19

    Swift : 사용자 지정 segue 이후에 임베디드 네비게이션 컨트롤러를 유지하려면 어떻게해야합니까?

  20. 20

    각도 지시문이있는 구문으로 컨트롤러를 어떻게 사용해야합니까?

  21. 21

    사용자 지정 컨트롤의 "데이터 소스 선택기 편집기"를 올바르게 사용하려면 어떻게해야합니까?

  22. 22

    마우스 입력 이벤트에서 새 양식 / 사용자 컨트롤이 Form1의 중앙으로 이동하려면 어떻게해야합니까?

  23. 23

    크롬 확장 프로그램을 사용하여 웹 페이지의 onClick 이벤트에서 메시지를 받으려면 어떻게해야합니까?

  24. 24

    사용자 정의 컨트롤의 모든 속성을 제거하려면 어떻게해야합니까?

  25. 25

    Amazon API Gateway로 사용자 지정 엔드 포인트를 생성하려면 어떻게해야합니까?

  26. 26

    Electron Menu click () 이벤트를 사용하여 Vue 경로를 변경하려면 어떻게해야합니까?

  27. 27

    그룹 상자 컨트롤에 패딩을 올바르게 적용하려면 어떻게해야합니까?

  28. 28

    tun0 인터페이스 작동 / 작동 중지 이벤트가 발생할 때 스크립트가 자동으로 실행되도록하려면 어떻게해야합니까?

  29. 29

    위아래로 스크롤하기위한 사용자 지정 이벤트를 만들려면 어떻게해야합니까?

뜨겁다태그

보관