专注于控制

本文关键字:控制 于控制 专注 | 更新日期: 2023-09-27 18:19:32

我想创建连接到mdf文件的UserControl,所以我想创建新属性。

我试过了,但问题是每隔2秒它就会要求我选择文件。。。只有当他试图更改值时,我才能做什么?或者如果我可以用"^"按钮做属性,这将很有帮助。

编辑:我使用了Enum

看起来:

public enum TypeOfData
{
    NotChoseYet=1,
    ChooseDataBase=2,
    ThereAlreadyDataBase=3
}
public partial class Adodc : UserControl
{
    private bool istart;
    private string sql;
    OpenFileDialog DB = new OpenFileDialog();
    private string DbLocation;
    private TypeOfData? DBchose = (TypeOfData)1;
    public TypeOfData? DataBase
    {
        get 
        {
            return this.DBchose; 
        }
        set 
        {
            if ((int)value == 2) 
            { 
                DB.ShowDialog();
                if (DB.FileName.Length != 0)
                {
                    DbLocation = DB.FileName;
                    DBchose = (TypeOfData)(3);
                }
                     if (DesignMode)
                    {
                        this.Focus();
                    }
            } 
        }
    }
    [ReadOnly(true)]
    public  string Location 
    {
        get
        {
            return DbLocation;
        }
    }
}

在从我创建的控制器到表单中选择数据库是LostFocus(在设计中)后,我有一个问题它将焦点更改为Form我如何将注意力集中在UserController 上

我试着添加它:但不起作用

if (DesignMode)
{
    this.Focus();
}

也许还有另一种方法可以让它重新聚焦

当我选择选项2时,openDialog打开,我选择文件单击"确定"后,焦点设置在"窗体"上,而不是回到控制器上。

专注于控制

get
{
    if (dbLocation == null)
    {
        dbDialog.ShowDialog();
        dbLocation = db.FileName;
    }
    return dbLocation;
}