专注于控制

时间:2014-08-26 15:34:22

标签: c# openfiledialog

我想创建与UserControl文件的mdf连接,因此我想创建新属性。

我试过,但问题是每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;
        }
    }
}

我选择DataBase之后有一个问题是LostFocus(在desinger中)从我创建的控制器到表单 它将焦点转移到Form 我如何将焦点保持在UserController上

我尝试添加它:但没有工作

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

也许还有另一种方法可以让它重点关注

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

1 个答案:

答案 0 :(得分:1)

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