[Mono-bugs] [Bug 354669] New: [PATCH] 2.0 style AutoScale doesn' t work with forms designed in VS2005

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Fri Jan 18 03:02:49 EST 2008


           Summary: [PATCH] 2.0 style AutoScale doesn't work with forms
                    designed in VS2005
           Product: Mono: Class Libraries
           Version: SVN
          Platform: Other
        OS/Version: Other
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: Windows.Forms
        AssignedTo: mono-bugs at lists.ximian.com
        ReportedBy: jdpurcell2 at yahoo.com
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---

Created an attachment (id=190960)
 --> (https://bugzilla.novell.com/attachment.cgi?id=190960)

Mono is very picky about the order in which the AutoScale-related properties
are set.  The VS2005 form designer sets the form's properties in alphabetical
order which ends up not working at all in Mono.  For example,
AutoScaleDimensions is set first, then AutoScaleMode, but in Mono setting
AutoScaleMode causes AutoScaleDimensions to reset.  Even if that is switched
around, it still doesn't do anything because PerformAutoScale is triggered
immediately, before the controls are even added or client size is set (it
should wait until ResumeLayout if layout is suspended).

I am submitting a patch (against CVS) to fix this.  It includes the following

* Don't reset AutoScaleDimensions the first time AutoScaleMode is changed. 
This is what MS.NET does, it only resets AutoScaleDimensions if it's the 2nd or
more change to AutoScaleMode.  Also MS.NET resets AutoScaleDimensions to 0,0,
so I did too (it'll get set back to CurrentAutoScaleDimensions after
PerformAutoScale runs).

* Delay running PerformAutoScaleMode if layout is suspended.  Again, this is
what MS.NET does with the exception of a bug where changing Font triggers an
immediate autoscale (even if AutoScaleMode isn't font).  I chose not to
implement the bug :).

Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.

More information about the mono-bugs mailing list