Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
チェックボックスを使って書体の変更したいのですが
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=9551#CommentId14202
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
ちゃちゃ
 (その他)
投稿日時
2010/2/14 01:48:05
VB2008を使ってます。
チェックボックスを使ってIF文でbold,italic,underlineの書体を変更するコードを作りたいのですが、何度やってもうまくいきません。
各チェックボックスをチェックしたら、1つだけにチェックしたら1つ、2つチェックしたら2つの書体にといった感じで書体が変わるようにしたいのですが、以下のコードだと組み合わせのうち半分がきちんと動きません。
周りに詳しい方もおらず、こちらに相談させて頂きました。
アドバイスよろしくお願いします。
if chkBold.checked then
lbl.font=new font(lbl.font,fontstyle.Bold)
if chkItalic.checked then
lbl.font=new font(lbl.font,fontstyle.Italic)
if chkUnderline.checked then
lbl.font=new font(lbl.font,fontstyle.Underline)
if chkBold.checked and chkItalic.checked then
lbl.font=new font(lbl.font,fontstyle.Bold or fontstyle.Italic)
if chkBold.cheked and chkUnderline.checked then
lbl.font=new font(lbl.font,fontstyle.Bold or fontstyle.Underline)
if chkBold.checked and chkItalic.checked and chkUnderline.checked then
lbl.font=new font(lbl.font,fontstyle.Bold or fontstyle.Italic or
fontstlye.Underline)
endif
endif
endif
endif
endif
else
lbl.font=new font(lbl.font,fontstyle.regular)
if chkItalic.checked then
lbl.font=new font(lbl.font,fontstyle.Italic)
if chkUnderline.checked then
lbl.font=new font(lbl.font,fontstyle.Underline)
if chkItalic.checked and chkUnderline.checked then
lbl.font=new font(lbl.font,fontstyle.Italic or fontstyle.Underline)
endif
endif
endif
endif
※このコードを組み合わせを変えて3種コーディングしました。
以下に表示の可・不可を書いておきます。
1⇒Bold、2⇒Italic、3⇒Underline
1,2,3単体のチェックはいずれもOK
1+2 OK
1+3 OK
2+3 2つ目でItalicが外れる
2+1 OK
3+1 2つ目でUnderlineが外れる
3+2 2つ目でUnderlineが外れる
1+2+3 OK
1+3+2 OK
2+1+3 OK
2+3+1 2つ目でBoldが外れるが、最後は完成
3+1+2 2つ目でUnderlineが外れ、3つ目でBoldが外れる
3+2+1 2つ目でUnderlineが外れるが最後は完成
うまくいく方法をご存知の方、アドバイスどうぞよろしくお願いします。