拖动控件可以改变控件的大小,并且改变控件的字体大小??怎么实现

解决方案 »

  1.   

    給你一個改變控件的大小的例子,關於字體的改變,你可以根據窗體的大小,來自己設定字體。
    private void MessageBar_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
    {
    resizeForm.MouseStartPosition = e.Y;
    resizeForm.ButtonPress = true;
    if ( e.Y < 8 )
    resizeForm.MoveStatus = true;
    } private void MessageBar_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
    {
    resizeForm.MouseEndPosition = e.Y;
    if ( e.Y < 8 )
    MessageBar.Cursor = Cursors.SizeNS;
    else if ( !resizeForm.ButtonPress )
    {
    MessageBar.Cursor = Cursors.Default;
    }
    if ( resizeForm.MoveStatus )
    {
    int height = MessageBar.Size.Height + resizeForm.MouseStartPosition - resizeForm.MouseEndPosition;
    if ( height > 500 )
    height = 500;
    if ( height < 86 )
    height = 86;
    MessageBar.Size = new Size( MessageBar.Size.Width , height );
    }


    } private void MessageBar_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
    {
    MessageBar.Cursor = Cursors.Default;
    resizeForm.ButtonPress = false;
    resizeForm.MoveStatus = false;
    }
      

  2.   

    resizeForm是一個自定義的類。
    public class ResizeForm
    {
    private int mouseStartPosition;
    private int mouseEndPosition;
    private bool buttonPress;
    private bool moveStatus;
    public ResizeForm()
    {
    mouseStartPosition = 0;
    mouseEndPosition = 0;
    buttonPress = false;
    moveStatus = false;
    } public int MouseStartPosition
    {
    get { return mouseStartPosition ; }
    set { mouseStartPosition = value ;}
    } public int MouseEndPosition
    {
    get { return mouseEndPosition ; }
    set { mouseEndPosition = value ;}
    } public bool ButtonPress
    {
    get { return buttonPress ; }
    set { buttonPress = value ;}
    } public bool MoveStatus
    {
    get { return moveStatus ; }
    set { moveStatus = value ;}
    }
    }
      

  3.   

    是不是有个Control.Font.Size属性?
      

  4.   

    处理Font的变形的时候怎么处理啊?那个Font.size已经不行了吧!