Visual Basic 投稿記事 |
Visual Basic 中学校 > 投稿記事 >
投稿者:れろさん
概要 フォームのサイズが変更されても縦横の比率が変わらないようにするサンプルです。 サンプル集の方に追加しようかとも思いましたが、サンプルコードだけでなくれろさんのコメントや感想のようなものも書いてあり、作成者の息遣いが感じられると思い投稿記事に掲載しました。 以下の内容はれろさんに投稿していただいたのとまったく同じものです。(ただし、プログラムの書式は変更しました。) れろさん投稿ありがとうございます! |
印刷プレビュー作成時、フォームのサイズ比率が拡大・縮小したときに変わらないほうが良い思い適当に作成しました。
○ Visual Basic 2005 Express Edition を使う。(OSはXP Home Edition)
○ 検索してみると以外に無かったので、作成してみました。
○ 作成時間:.net(30分)HTML編集Windowsアプリケーション(コード)
Public Class Form1 Private m_iX As Integer Private m_iY As Integer Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load m_iX = Me.ClientSize.Width m_iY = Me.ClientSize.Height End Sub Private Sub Form1_Layout(ByVal sender As Object, ByVal e As System.Windows.Forms.LayoutEventArgs) Handles Me.Layout Dim changeValueX As Integer Dim changeValueY As Integer changeValueX = m_iX - Me.ClientSize.Width changeValueY = m_iY - Me.ClientSize.Height If (changeValueX <> 0) Then m_iX = m_iX - changeValueX m_iY = m_iY - changeValueX ElseIf (changeValueY <> 0) Then m_iX = m_iX - changeValueY m_iY = m_iY - changeValueY Else Exit Sub End If Me.ClientSize = New System.Drawing.Size(m_iX, m_iY) End Sub End Class |
○結果
実行するとわかるが一応動くが、画面がちらつきが気になる
もっといい書き方が絶対にあるはず
○反省
VB触って3ヶ月・・、
もっと良い「コーディングの仕方・悪いところ」じゃんじゃん言ってください o(^o^)o