使用Windows窗体时,{"参数的异步错误无效。"}

时间:2015-05-30 23:54:35

标签: c# .net winforms async-await

我有一个简单的窗体,有一个点击按钮,可以加载一个名为高程的列表框,当点击其中一个高程时,属于该高程的id被传递给一个创建位图的函数并将其返回给原始的呼叫功能。我不断收到这些奇怪的错误。

我不断收到{"参数无效。"}错误。

关于这里发生的任何想法?

我还添加了两个屏幕截图,一个窗口窗体和一个错误。

   async void lbElevations_MouseClick(object sender, MouseEventArgs e)
        {
            var bitmapElevation = await ShowElevation();
        }

        async Task<Bitmap> ShowElevation()
        {
            int id = int.Parse(this.lbElevations.SelectedValue.ToString());
            bool isPDF = false;
            Bitmap bitElevation = new Bitmap(0, 0);

            bool Rotate90 = false;
            string action = "getelevation";
            IElevation elev = await ElevationManagerDL.GetElevationAsync(id);


            action = action.ToLower();
            RotateFlipType rotateFlip = Rotate90 ? RotateFlipType.Rotate90FlipNone : RotateFlipType.RotateNoneFlipNone;

            //elevation / shop drawing
            if (action == "getelevation")
            {
                #region Just Elevation
                if (isPDF)
                {
                    using (var pdf = await AlumCloudPlansBL.Manager.GetElevationPDFAsync(elev, true))
                    {
                        //pdf
                    }
                }
                else
                {
                    using (bitElevation = await AlumCloudPlansBL.Manager.GetElevationDrawingAsync(elev, true, rotateFlip, false))
                    {
                        //canvas
                    }
                }
                #endregion
            }

            return bitElevation;
        }

The Error

The List Box

1 个答案:

答案 0 :(得分:1)

您遇到的问题是您正在构建一个0高度和宽度的位图:

以下代码也会引发异常:

try
{
    Bitmap b = new Bitmap(0, 0);
}
catch (ArgumentException ex)
{
    MessageBox.Show(ex.ToString());
}