Balaraj Nayak Ответов: 1

Ошибка: не все пути кода возвращают значение


Привет , я попытался создать миниатюру его на самом деле написано в vb6 , я преобразовал его в c# и пытаюсь создать миниатюру, когда я делаю явное преобразование, он говорит, как вышеупомянутая ошибка.

пожалуйста, кто-нибудь, помогите.

Что я уже пробовал:

private bool AddThumbnail()
       {

           savdImgCnt = 0;

           Image.GetThumbnailImageAbort myCallback = new Image.GetThumbnailImageAbort(ThumbnailCallback);

           Panel panel1 = new Panel();
           var _with1 = panel1;
           _with1.Visible = true;
           _with1.Location = new Point(61, 130);
           _with1.Name = "panel1";
           _with1.Size = new Size(650, 600);
           _with1.AutoScroll = true;
           _with1.BorderStyle = BorderStyle.Fixed3D;
           this.Controls.Add(panel1);

           int btnposition_X = 0;
           int btnposition_Y = 0;

           btnposition_X = 15;
           btnposition_Y = 10;

           string strFileSize = "";


           Myconnection obj = new Myconnection();

           obj.SetConnection();
           OleDbCommand cmd = default(OleDbCommand);
           OleDbDataReader dr = default(OleDbDataReader);

           cmd = new OleDbCommand("Select * from PresetDetails", obj.con);
           dr = cmd.ExecuteReader();

           if (dr.HasRows == true)
           {
              while (dr.Read())
               {
                   if (File.Exists("\\saved files\\" + dr[1] + ".bmp"))
                   {
                       btn[savdImgCnt] = new Button();
                       var _with2 = btn[savdImgCnt];
                       _with2.Height = 110;
                       _with2.Width = 110;
                       _with2.Visible = true;
                       _with2.Name = dr[1].ToString();
                       _with2.Location = new System.Drawing.Point(btnposition_X, btnposition_Y);
                       _with2.ForeColor = Color.Chocolate;


                       btn[savdImgCnt].Click += Dynamic_Method;




                       bitmap = new Bitmap("\\saved files\\" + dr[1] + ".bmp");


                       thmbitmap= bitmap.GetThumbnailImage(100, 100, myCallback, IntPtr.Zero);





                       bitmap.Dispose();

                       //'thmbitmap.Save(My.Application.Info.DirectoryPath & "\Thumb files\" & dr(0).ToString & ".bmp")
                       btn[savdImgCnt].Image = thmbitmap;


                       //'btn[savdImgCnt].TabIndex = 0;
                       //Controls.Add(btn[savdImgCnt]);


                       label1[0] = new Label();
                       var _with3 = label1[0];
                       _with3.AutoSize = true;
                       _with3.Text = dr[1].ToString();
                       _with3.Location = new System.Drawing.Point(btnposition_X + 35, btnposition_Y + 110);

                       //'Me.Controls.Add(label1(0))
                       panel1.Controls.Add(label1[0]);

                       label1[1] = new Label();
                       var _with4 = label1[1];
                       _with4.AutoSize = true;
                       _with4.Text = dr[2].ToString();
                       _with4.Location = new System.Drawing.Point(btnposition_X + 1, btnposition_Y + 130);

                       //'Me.Controls.Add(label1(1))
                       panel1.Controls.Add(btn[savdImgCnt]);
                       panel1.Controls.Add(label1[1]);

                       savdImgCnt = savdImgCnt + 1;
                       btnposition_X = btnposition_X + 150;
                       if (savdImgCnt % 4 == 0)
                       {
                           btnposition_X = 15;
                           btnposition_Y = btnposition_Y + 150;
                       }

                   }

               }
           }

           obj.CloseConnection();

1 Ответов

Рейтинг:
4

OriginalGriff

Вы объявляете метод, как bool но у тебя их нет return заявление.
Если только каждый маршрут через ваш код не означает return система будет (правильно) жаловаться, потому что она не может гарантировать передачу какого-либо значения обратно вызывающему абоненту.

Либо меняйте свой способ к void тип:

private void AddThumbnail()
Или добавить return заявление в конце.


Balaraj Nayak

- спасибо, сэр.

OriginalGriff

Всегда пожалуйста!