2011-04-09 9 views
2

안녕하세요, 저는 dorpdownlist에서 제공하는 옵션을 선택하여 aspx 페이지에서 라벨의 글꼴 스타일을 변경하고 싶습니다. 이 방법들 중 어느 것도 작동하지 않습니다. 나는 올바른 길을 가고 있을지도 모르지만, 올바르게 할 수는없는 것 같습니다. 제발 저를 계몽하십시오.C에서 글꼴 스타일 변경 #

public void button1_Click(object sender, EventArgs e) 
{ 
    var select= drop1.SelectedItem.Value; 
    if(select == "Times New Roman") 
    { 
    // I tried doing all of these: 
    label1.Font= new Font("Times New Roman", label1.Font.Size); 
    //or 
    label1.Font.Name ="Times New Roman"; 
    //or 
    Label new1 = new Label("Times New Roman"); 
    Label1.Font= new1; 
    } 
} 
+1

a) 실제로 그러지 마세요. 인터넷은 당신을 싫어할 것입니다. b) CSS, ffs를 사용하십시오. –

+0

가능한 [C#에서 글꼴 스타일 변경 (굵게, 기울임 꼴, 굵은 기울임 꼴)] (http://stackoverflow.com/questions/5607511/change-font-style-bold-italic-bold-italic-in-c) –

+1

다음의 정확한 깃발로 표시 : http://stackoverflow.com/questions/5607511/change-font-style-bold-italic-bold-italic-in-c (조금만 성급하게 말하더라도,이 중대한 노력을했습니다. 답변). –

답변

2

당신이 그것을 이런 식으로해야합니까 : 뒤에 내 코드에 감사 ? 어쨌든 그것은 '좋은'해결책이 아닙니다. css 클래스를 할당하는 것이 훨씬 좋습니다. 전에는 이런 식으로 보지 못했지만 WinForms에서 시작한다고합니다. 대신

사용 CssClass :

label1.CssClass = "SomeClass"; 

그리고 스타일 시트의 스타일 정의가 작동하고

.SomeClass { font-family: "Times New Roman"; font-size: 1.2em; } 
+0

이 형식의 코드가 존재하도록 허용하는 Webforms에 대한 주요 불만 중 하나입니다.말했듯이 CSS 클래스를 적용하는 것이 훨씬 낫습니다. –

+0

그것의 WebForm. 이것이 내가하는 일이었고 좋지 않을 수도 있습니다. 하지만 나는 CSS Class를하고 싶지 않습니다. 버튼 클릭 이벤트에서 글꼴을 변경하고 싶습니다. –

+0

아니, 이것이 해결책이 아니므로 서버로 돌아가는 여행을 의미할까요? –

2

여기 내 코드

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

namespace WebApplication2 
{ 
    public partial class _Default : System.Web.UI.Page 
    { 
    protected void Page_Load(object sender, EventArgs e) 
    { 

    } 

    protected void Button1_Click(object sender, EventArgs e) 
    { 
     Label1.Font.Name = "Verdana"; 
    } 
} 

}

하고를, 너를 만들어 줄 필요가있어. 응용 프로그램을 실행하기 전에 응용 프로그램을 실행하기 전에 fontname이 페이지에 넣을 때 비어 있으므로 (글꼴 이름을 처음으로으로 설정하지 않으면 작동하지 않습니다) 코드를 설정해야합니다. 나는 다음 open the properties window click the label and click font then choose a name for font name

+0

이름이 설정되지 않았으므로 내가 말한대로 했으므로 Font-Names = "name";을 설정했습니다. 하지만 여전히 나를 위해 작동하지 않습니다, 나는이 오류가 작동하지 못하도록하는 다른 오류가 있는지 궁금합니다. 귀하의 답변 주셔서 감사합니다! :) –

+0

@ Zen_2011 전혀 아닙니다. 나는 이름과 오해가 있다고 생각합니다. 당신이해야 할 일은 lable을 클릭하고 속성 창으로 가서 글꼴을 클릭 한 다음 글꼴 앞의 흰 부분을 클릭하고 Verdana 또는 Times New Roman과 같은 글꼴 유형을 선택하십시오. 그래도 작동하지 않으면 라벨을 다시 만든 다음 웹 페이지를 만드십시오. 행운을 빈다. – Bastardo

+0

@EmreVeriyaz 우리는 다른 환경에있는 것처럼 보이고, 내 속성이 너처럼 보이지 않으며, 설정할 글꼴 옵션이 없습니다. Font-Names : "이름을 입력 할 수있는 곳", Font-Bold : "true 또는 false로 설정"등 –

3

당신은 JQuery와에게

바인딩 선택 드롭 다운에 onchange를 이벤트에 이벤트 핸들러를 사용하는 것이 더 낫다 글꼴 이름에 대한 이름을 선택 레이블을 클릭하고 글꼴을 클릭 속성 창 above.open wrte 값에 따라 CSS 클래스를 변경하십시오. 서버 측 인 서버 B의 히트를 피하지 - - 쉽게 다 - 이것은의 이점을 가지고 청소기

편집 : 이런 식으로 뭔가가 웹에

jQuery onchange/onfocus select box to display an image?

+0

'using jquery' :) –

+0

나는 jquery를 아주 좋아합니다. 나는 지난 2 년 동안 웹 양식과 싸우며이 일이 훨씬 쉽다는 결론에 도달했습니다. 업데이트 패널 및 동적 컨트롤을 사용하면 엉망이되어 시작할 수 있습니다. 나는 빛을 본다, halluleuah –

+1

LOL, 나는 지금 고통 스럽다. jquery를 사용하지 않고있다. 사촌 일 수도있다. –

1

을 적용 할 수있는 우리가하지 new Font을 작성하십시오. 이것은 데스크탑 프로그래밍을 위해 작동하며 새로운 글꼴은 클라이언트가 아닌 서버에서 작성됩니다.

레이블에 .Font이 포함되어 있지만 새 글꼴을 설정할 수는 없지만 실제로는 새로운 인라인 스타일을 만들고 객체는 FontInfo (글꼴이 아님)입니다.

// Note that myLabel.Font is a FontInfo object. 

myLabel.Font.Bold = true; 
myLabel.Font.Italic = false; 
myLabel.Font.Name = "verdana"; 
myLabel.Font.Overline = false; 
myLabel.Font.Size = 10; 
myLabel.Font.Strikeout = false; 
myLabel.Font.Underline = true; 

// Write information on the FontInfo object to the myLabel label. 
myLabel.Text = myLabel.Font.ToString(); 

마지막이 렌더링은 스팬 또는 사업부 내에 텍스트에이 속성을 제공하는 인라인 스타일을 포함 : 여기 MSDN FontInfo에서

은 예입니다. 물론 글로벌 CSS 클래스를 제공하는 것이 더 좋지만 인라인 스타일을 방해해야하는 경우도 있습니다.