gre*_*hat 7 c# exception winforms
我有一个带有 Windows 窗体的应用程序,有时会抛出“参数无效”异常。该异常是在构造时遍历自动生成的代码(由 Visual Studio 生成)时引发的。
这是一些相关的代码片段。
// MainForm.cs
public partial class MyForm : Form
{
public MyForm(Action shutdown_request_callback = null)
{
Visible = false;
ShowInTaskbar = false;
Opacity = 0;
InitializeComponent();
...
}
}
// MainForm.designer.cs, this is auto-generated
partial class MainForm
{
private void InitializeComponent()
{
...
this.StatusPane = new StatusPaneUserControl();
...
}
}
// StatusPaneUserControl.cs
public partial class StatusPaneUserControl : UserControl
{
public StatusPaneUserControl()
{
InitializeComponent();
}
}
// StatusPaneUserConrol.designer.cs, auto generated code
partial class StatusPaneUserControl
{
private void InitializeComponent()
{
this.FolderImage = new System.Windows.Forms.PictureBox();
...
//
// FolderImage
//
this.FolderImage.Image = ((System.Drawing.Image)(resources.GetObject("FolderImage.Image")));
this.FolderImage.InitialImage = ((System.Drawing.Image)(resources.GetObject("FolderImage.InitialImage")));
this.FolderImage.Location = new System.Drawing.Point(161, 45);
this.FolderImage.Name = "FolderImage";
this.FolderImage.Size = new System.Drawing.Size(251, 219);
this.FolderImage.TabIndex = 8;
this.FolderImage.TabStop = false;
this.FolderImage.WaitOnLoad = true;
...
this.Controls.Add(this.FolderImage);
}
}
Run Code Online (Sandbox Code Playgroud)
“参数无效”异常是从 间接引发的Controls.Add。实际的堆栈如下。
ArgumentException: Parameter is not valid.
at System.Drawing.Image.get_FrameDimensionsList()
at System.Drawing.ImageAnimator.CanAnimate(Image image)
at System.Drawing.ImageAnimator.ImageInfo..ctor(Image image)
at System.Drawing.ImageAnimator.Animate(Image image, EventHandler onFrameChangedHandler)
at System.Windows.Forms.PictureBox.Animate(Boolean animate)
at System.Windows.Forms.Control.AssignParent(Control value)
at System.Windows.Forms.Control.ControlCollection.Add(Control value)
at MyNamespace.StatusPaneUserControl.InitializeComponent()
at MyNamespace.MainForm.InitializeComponent()
at MyNamespace.MainForm..ctor(Action shutdown_request_callback)
Run Code Online (Sandbox Code Playgroud)
该异常似乎来自于get_FrameDimensionsList()它似乎没有采用任何参数,这令人困惑,因为该异常似乎表明某些参数是错误的。
我在这里发现了一个类似的问题,但与 dispose 有关,它在这里看起来不适用(但有意义)。
| 归档时间: |
|
| 查看次数: |
2069 次 |
| 最近记录: |