[Mono-winforms-list] set_Value seems to be having a problem

Emery Conrad econrad at vt.edu
Tue Apr 18 13:58:51 EDT 2006


I've run into the same issue repeatedly over the last several iterations of
releases... in 1.1.9.2, this bug wasn't there. When I change the code to
give the values of max and min for the scroll bar, they are both set to
-214783648. Somewhere, one of the calculations (maybe thumb_area?) is off.

I've just starting my digging into the ScrollBar code... probably someone
else will figure this out before me!!

Emery


On 4/18/06, PFJ <paul at all-the-johnsons.co.uk> wrote:
>
> Hi,
>
> I have a small image viewer which has been working for quite a while
> now. However, I've just come to run it and it throws up an error after
> loading a jpeg
>
> Unhandled Exception: System.ArgumentException: '-214783648' not a valid
> value for 'Value'. 'Value' should be between 'Minimum' and 'Maximum'
> <in 0x00163> System.Windows.Forms.ScrollBar:set_Value(Int32 value)
>
> The jpeg is a valid jpeg (displays in eye of gnome)
>
> Any ideas what is happening? Source code and throwback is attached.
>
> As always, I'm happy to BZ this and admit now that the problem could
> either be in my head, on my machine, or not be anything at all because
> I'm a twit at times.
>
> mono compiled from source (svn) at about 10.30 British Summer Time
>
> TTFN
>
> Paul
>
> 8-->
> /*
> * ImageViewer.cs - Simple MDI-based image viewer.
> *
> * Copyright (C) 2003  Southern Storm Software, Pty Ltd.
> *
> * This program is free software, you can redistribute it and/or modify
> * it under the terms of the GNU General Public License as published by
> * the Free Software Foundation, either version 2 of the License, or
> * (at your option) any later version.
> *
> * This program is distributed in the hope that it will be useful,
> * but WITHOUT ANY WARRANTY, without even the implied warranty of
> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> * GNU General Public License for more details.
> *
> * You should have received a copy of the GNU General Public License
> * along with this program, if not, write to the Free Software
> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
> USA
> */
>
> using System;
> using System.IO;
> using System.Drawing;
> using System.Drawing.Drawing2D;
> using System.Windows.Forms;
>
> public class ImageViewer : Form
> {
>         private ImageViewer()
>         {
>                 MenuItem openMenuItem = new MenuItem("Open");
>                 MenuItem quitMenuItem = new MenuItem("Quit");
>                 MenuItem fileMenuItem =
>                         new MenuItem("File", new MenuItem[]
>                                 {openMenuItem, quitMenuItem});
>                 MainMenu mainMenu = new MainMenu(new MenuItem[] {
> fileMenuItem });
>                 Menu = mainMenu;
>
>                 Size = new Size(600, 500);
>                 Text = "DotGNU Image Viewer";
>                 IsMdiContainer = true;
>
>                 openMenuItem.Click += new EventHandler(OpenClicked);
>                 quitMenuItem.Click += new EventHandler(QuitClicked);
>         }
>
>         private void OpenClicked(Object sender, EventArgs e)
>         {
>                 OpenFileDialog dialog = new OpenFileDialog();
>                 dialog.Filter =
>                         "All image files (*.bmp, *.jpg, *.png, *.gif,
> *.ico, *.cur)" +
>                         "|*.bmp;*.jpg;*.png;*.gif;*.ico;*.cur" +
>                         "|BMP files (*.bmp)|*.bmp" +
>                         "|JPEG files (*.jpg)|*.jpg" +
>                         "|PNG files (*.png)|*.png" +
>                         "|GIF files (*.gif)|*.gif" +
>                         "|Icon files (*.ico)|*.ico" +
>                         "|Cursor files (*.cur)|*.cur" +
>                         "|All files (*.*)|*.*";
>                 if(dialog.ShowDialog(this) == DialogResult.OK)
>                 {
>                         Bitmap image;
>                         try
>                         {
>                                 image = new Bitmap(dialog.FileName);
>                         }
>                         catch(Exception)
>                         {
>                                 MessageBox.Show
>                                         (String.Format("Unknown image
> format for \"{0}\"",
>
> dialog.FileName),
>                                          "Error", MessageBoxButtons.OK,
> MessageBoxIcon.Hand);
>                                 image = null;
>                         }
>                         if(image != null)
>                         {
>                                 ImageWindow window = new ImageWindow
>                                         (dialog.FileName, image);
>                                 window.MdiParent = this;
>                                 window.Visible = true;
>                         }
>                 }
>         }
>
>         private void QuitClicked(Object sender, EventArgs e)
>         {
>                 Close();
>         }
>
>         protected override bool ProcessDialogKey(Keys keyData)
>         {
>                 if(keyData == (Keys.Control | Keys.O))
>                 {
>                         OpenClicked(this, EventArgs.Empty);
>                         return true;
>                 }
>                 return base.ProcessDialogKey(keyData);
>         }
>
>         public static void Main(String[] args)
>         {
>                 ImageViewer form = new ImageViewer();
>                 Application.Run(form);
>         }
>
> }
>
> internal class ImageWindow : Form
> {
>         private Image image;
>
>         public ImageWindow(String filename, Image image)
>         {
>                 this.image = image;
>                 ClientSize = image.Size;
>                 Text = Path.GetFileName(filename);
>         }
>
>         protected override void OnPaint(PaintEventArgs args)
>         {
>                 args.Graphics.DrawImage(image, 0, 0);
>         }
>
> }
>
>
> Unhandled Exception: System.ArgumentException: '-2147483648' is not a
> valid value for 'Value'. 'Value' should be between 'Minimum' and
> 'Maximum'
> in <0x00163> System.Windows.Forms.ScrollBar:set_Value (Int32 value)
> in (wrapper remoting-invoke-with-check)
> System.Windows.Forms.ScrollBar:set_Value (int)
> in <0x00131> System.Windows.Forms.MdiClient:CalcHBar (Int32 left, Int32
> right, Int32 right_edge, Boolean vert_vis)
> in <0x007d7> System.Windows.Forms.MdiClient:SizeScrollBars ()
> in <0x0000a> System.Windows.Forms.MdiClient:FormLocationChanged
> (System.Object sender, System.EventArgs e)
> in (wrapper delegate-invoke)
> System.MulticastDelegate:invoke_void_object_EventArgs
> (object,System.EventArgs)
> in <0x0002e> System.Windows.Forms.Control:OnLocationChanged
> (System.EventArgs e)
> in <0x0016a> System.Windows.Forms.Control:UpdateBounds (Int32 x, Int32
> y, Int32 width, Int32 height, Int32 clientWidth, Int32 clientHeight)
> in <0x00149> System.Windows.Forms.Control:UpdateBounds ()
> in <0x00375> System.Windows.Forms.Control:WndProc
> (System.Windows.Forms.Message m)
> in <0x0000d> System.Windows.Forms.ScrollableControl:WndProc
> (System.Windows.Forms.Message m)
> in <0x0000d> System.Windows.Forms.ContainerControl:WndProc
> (System.Windows.Forms.Message m)
> in <0x00370> System.Windows.Forms.Form:WndProc
> (System.Windows.Forms.Message m)
> in <0x00014> System.Windows.Forms.Control+ControlNativeWindow:WndProc
> (System.Windows.Forms.Message m)
> in <0x0011e> System.Windows.Forms.NativeWindow:WndProc (IntPtr hWnd, Msg
> msg, IntPtr wParam, IntPtr lParam)
> in <0x00013> System.Windows.Forms.XplatUIX11:SendMessage (IntPtr hwnd,
> Msg message, IntPtr wParam, IntPtr lParam)
> in <0x0024e> System.Windows.Forms.XplatUIX11:SetVisible (IntPtr handle,
> Boolean visible)
> in <0x0001a> System.Windows.Forms.XplatUI:SetVisible (IntPtr handle,
> Boolean visible)
> in <0x0007d> System.Windows.Forms.Control:SetVisibleCore (Boolean value)
> in <0x0000f> System.Windows.Forms.Form:SetVisibleCore (Boolean value)
> in <0x00013> System.Windows.Forms.Control:set_Visible (Boolean value)
> in (wrapper remoting-invoke-with-check)
> System.Windows.Forms.Control:set_Visible (bool)
> in <0x00144> ImageViewer:OpenClicked (System.Object sender,
> System.EventArgs e)
> in (wrapper delegate-invoke)
> System.MulticastDelegate:invoke_void_object_EventArgs
> (object,System.EventArgs)
> in <0x0001d> System.Windows.Forms.MenuItem:OnClick (System.EventArgs e)
> in <0x00010> System.Windows.Forms.MenuItem:PerformClick ()
> in (wrapper remoting-invoke-with-check)
> System.Windows.Forms.MenuItem:PerformClick ()
> in <0x00377> System.Windows.Forms.MenuTracker:OnClick
> (System.Windows.Forms.MouseEventArgs args)
> in <0x00e61> System.Windows.Forms.Form:WndProc
> (System.Windows.Forms.Message m)
> in <0x00014> System.Windows.Forms.Control+ControlNativeWindow:WndProc
> (System.Windows.Forms.Message m)
> in <0x0011e> System.Windows.Forms.NativeWindow:WndProc (IntPtr hWnd, Msg
> msg, IntPtr wParam, IntPtr lParam)
> in <0x00016> System.Windows.Forms.XplatUIX11:DispatchMessage
> (System.Windows.Forms.MSG msg)
> in <0x00015> System.Windows.Forms.XplatUI:DispatchMessage
> (System.Windows.Forms.MSG msg)
> in <0x005fe> System.Windows.Forms.Application:RunLoop (Boolean Modal,
> System.Windows.Forms.ApplicationContext context)
> in <0x00024> System.Windows.Forms.Application:Run
> (System.Windows.Forms.Form mainForm)
> in <0x00024> ImageViewer:Main (System.String[] args)
> <--8
>
> --
> "Logic, my dear Zoe, is merely the ability to be wrong with authority" -
> Dr Who
>
> _______________________________________________
> Mono-winforms-list maillist  -  Mono-winforms-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-winforms-list
>



--
Emery Conrad
Department of Mathematics
Virginia Tech
5076 Derring Hall
Blacksburg, VA 24061-0406
(540) 231-3324
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-winforms-list/attachments/20060418/14ffa7ce/attachment-0001.html


More information about the Mono-winforms-list mailing list