域用户的自动填充功能

时间:2011-10-29 17:08:09

标签: c# .net windows

有没有办法在.net中为域用户做自动填充?
这意味着,我想要一个文本框,当我开始并键入Admin时,它将完成它到\ Administrator

感谢。

2 个答案:

答案 0 :(得分:3)

当然,您可以保留所有有效域帐户名称的列表,并对该数据源使用autocomplete(winforms示例)。

当然,这意味着您正在暴露一些敏感信息。

答案 1 :(得分:2)

您可以尝试这样显示域用户名......

namespace AutoCompleteTextBox
{
  public partial class frmAuto : Form
  {
     public string strConnection = ConfigurationManager.AppSettings["ConnString"];
     AutoCompleteStringCollection namesCollection  =  new AutoCompleteStringCollection();
     public frmAuto()
     {
          InitializeComponent();
      }

      private void frmAuto_Load(object sender, EventArgs e)
      {
              SqlDataReader dReader;
               SqlConnection conn = new SqlConnection();
               conn.ConnectionString = strConnection;
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = conn;
                cmd.CommandType = CommandType.Text;
                 cmd.CommandText ="Select distinct [Name] from [Names]" + " order by [Name] asc";
                  conn.Open();
               dReader = cmd.ExecuteReader();
              if (dReader.HasRows == true)
              {
                     while (dReader.Read())
                     namesCollection.Add(dReader["Name"].ToString());

               }
               else
               {
                        MessageBox.Show("Data not found");
                }
                dReader.Close();

                txtName.AutoCompleteMode = AutoCompleteMode.Suggest;
                txtName.AutoCompleteSource = AutoCompleteSource.CustomSource;
                txtName.AutoCompleteCustomSource = namesCollection;

         }
         private void btnCancel_Click(object sender, EventArgs e)
         {
                  Application.Exit();
          }
          private void btnOk_Click(object sender, EventArgs e)
          {
                MessageBox.Show(" this is autocomplete text box  example");
           }

       }
}