0

你好,

我正在做的是一种显示来自特定文件夹的图像的方法,但是当我调试时,我在最后一行代码中遇到了这个错误,我不知道为什么。**

Error 3 'MBKiosk.classTools' does not contain a definition for 'Controls' and no extension    
method 'Controls' accepting a first argument of type 'MBKiosk.classTools' could be found (are you 
missing a using directive or an assembly reference?)

谢谢你的帮助。

这是代码:

using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using System.Data.SqlClient;
using System.Data;
using System.IO;
using System.Windows.Forms;
using System.Drawing;
using System.ComponentModel;
using System.Collections.ObjectModel;
using MBKiosk;

namespace MBKiosk
{
    class classTools
    {
        public void ShowImages(string path)
        {
            FlowLayoutPanel imagePanel = new FlowLayoutPanel();
            imagPanel.FlowDirection = FlowDirection.LeftToRight;
            imagePanel.Size = new Size(1240, 630);
            imagePanel.Location = new Point(12, 344);
            imagePanel.WrapContents = true;
            imagePanel.AutoScroll = false;
            DirectoryInfo dInfo = new DirectoryInfo(path);
            foreach (FileInfo file in dInfo.GetFiles())
            {
                System.Diagnostics.Debug.Print(file.Extension);
                if ((file.Extension == ".jpg") || (file.Extension == ".gif") || (file.Extension == 
                    ".png"))
                {
                    PictureBox image = new PictureBox();
                    image.Image = Image.FromFile(file.FullName);
                    image.SizeMode = PictureBoxSizeMode.Normal;
                    image.Size = new Size(180, 108);
                    imagePanel.Controls.Add(image);
                    imagePanel.Refresh();
                }
            }
            this.Controls.Add(imagePanel);
        }   
    }
}
4

3 回答 3

1

当您复制和粘贴代码时,可能会发生这种情况。this.Controls 期望您的类 'classTools' 有一个成员 Controls。将预期的成员变量添加到“classTools”或从另一个类派生它。

于 2012-04-28T23:33:25.030 回答
0

就我而言,我正在复制/粘贴其他页面的用户控件,但我没有检查页面顶部的srcat标记。Register它似乎不是从根 ( ~/) 开始的,因此它只能找到位于同一地图上的文件:

<%@ Register Src="MyPopUp.ascx" TagName="MyPopup" TagPrefix="uc3" %>

因此,它将它视为一个 UserControl 而不是它自己的类。

我将控件复制到的页面位于不同的地图上,因此更正该路径并从根目录开始解决了该问题。

于 2021-12-15T13:42:14.977 回答
0

您导入System.Windows.Forms但实际上并未使用它。将您的类定义更改为class classTools : Forms,然后您将能够使用Controls该类

而且好像类没有Add方法Controls,只要不添加Add扩展方法Controls,就会报错。

于 2016-01-26T20:05:39.383 回答