Visual Basic 投稿記事
VB.NET2002対応 VB.NET2003対応 VB2005対応 VB2008対応

 

Visual Basic 中学校 > 投稿記事 >

Formの比率固定について

投稿者:れろさん

概要

フォームのサイズが変更されても縦横の比率が変わらないようにするサンプルです。

サンプル集の方に追加しようかとも思いましたが、サンプルコードだけでなくれろさんのコメントや感想のようなものも書いてあり、作成者の息遣いが感じられると思い投稿記事に掲載しました。

以下の内容はれろさんに投稿していただいたのとまったく同じものです。(ただし、プログラムの書式は変更しました。)

れろさん投稿ありがとうございます!

 

印刷プレビュー作成時、フォームのサイズ比率が拡大・縮小したときに変わらないほうが良い思い適当に作成しました。 


    Visual Basic 2005 Express Edition を使う。(OSXP Home Edition

    検索してみると以外に無かったので、作成してみました。

○ 作成時間:.net(30分)HTML編集(30分)(1時間)

Windowsアプリケーション(コード)

Public Class Form1

  Private m_iX As Integer
  Private m_iY As Integer

    Private Sub Form1_Load(ByVal sender As ObjectByVal 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 ObjectByVal 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