다음을 통해 공유


방법: 프로그래밍 방식으로 ASP.NET 서버 컨트롤 스타일 속성 설정

업데이트: 2007년 11월

ASP.NET 서버 컨트롤의 스타일 속성을 프로그래밍 방식으로 설정하여 조건에 따라 컨트롤 모양을 변경할 수 있습니다.

스타일 속성을 프로그래밍 방식으로 설정하려면

  • 설정할 스타일 개체와 속성을 지정하기 위해 다음과 같은 계층적 규칙을 사용합니다.

    Control.StyleObject.Property = value
    
    Control.StyleObject.Property = value;
    

    다음 코드 예제에서는 Calendar 컨트롤의 DayStyle 개체에 대한 BackColor 속성을 설정하는 방법을 보여 줍니다.

    Calendar1.DayStyle.BackColor = System.Drawing.Color.Green
    
    Calendar1.DayStyle.BackColor = System.Drawing.Color.Green;
    

    별도의 Style 개체를 만들고 해당 속성의 값을 컨트롤의 스타일 중 하나로 복사하거나 병합할 수도 있습니다. 이렇게 하면 프로젝트에 있는 여러 목록 개체에 동일한 스타일을 적용할 수 있으므로 매우 유용합니다. 실제로 가상 스타일시트를 Style 개체로 만든 다음 일련의 컨트롤에 적용할 수 있습니다.

스타일 개체를 만들어 컨트롤에 적용하려면

  1. 다음 예제와 같이 Style 개체의 인스턴스를 만들고 속성을 설정합니다.

    Dim s As Style = New Style()
    s.BackColor = System.Drawing.Color.Red
    
    Style s = new Style();
    s.BackColor = System.Drawing.Color.Red;
    
  2. 다음 메서드 중 하나를 사용하여 Style 개체를 컨트롤에 할당합니다.

    • CopyFrom 메서드는 null 설정을 포함하여 Style 개체의 모든 설정을 적용합니다.

    • MergeWith 메서드는 Style 개체에 이미 설정된 속성만 복사하고, 설정되지 않은 Style 속성은 건너뜁니다. 또한 MergeWith 메서드는 기존 스타일 요소를 덮어쓰지 않습니다.

    다음 코드 예제에서는 Style 개체를 만들어 해당 속성 중 하나를 설정한 다음, 위에서 설명한 각 메서드를 사용하여 두 개의 서로 다른 컨트롤 스타일 개체에 적용하는 방법을 보여 줍니다.

    ' Apply all values in s, including nulls.
    Calendar1.SelectedDayStyle.CopyFrom(s)
    ' Apply only values in s that are null in HeaderStyle.
    DataGrid1.HeaderStyle.MergeWith(s)
    
    // Apply all values in s, including nulls.
    Calendar1.SelectedDayStyle.CopyFrom(s);
    // Apply only values in s that are null in HeaderStyle.
    DataGrid1.HeaderStyle.MergeWith(s);
    

참고 항목

작업

방법: ASP.NET 구문을 사용하여 ASP.NET 서버 컨트롤 스타일 속성 설정

개념

ASP.NET 웹 서버 컨트롤 및 CSS 스타일