1、修改窗体只剩关闭按钮   

this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;

            this.MaximizeBox = false;

            this.MinimizeBox = false;

 

2、登录密码文本框敲回车键直接进入系统

        private void txtPwd_KeyDown(object sender, KeyEventArgs e)

        {

            if (e.KeyCode == Keys.Enter)

            {

                picLogin_Click(sender, e);

            }

        }

 

3、判断文本框为空或者为NULL

if (String.IsNullOrEmpty(txtCode.Text.Trim()))

 

4、双引号里面添加引号的写法

string strSql = "select * from SYOperator where OperatorCode = '" + txtCode.Text.Trim() +

                            "' and PassWord = '" + txtPwd.Text.Trim() + "'";

 

5、SqlDataReader 读数的两种方法

SqlDataReader sdr = db.GetDataReader(strSql);

                sdr.Read();

                if (sdr.HasRows)    或者将这两行改为 while(sdr.Read())

                {

                    AppMain AppForm = new AppMain();  //调用主窗体构造函数

                    Hide();  //隐藏当前窗体

                    PropertyClass.OperatorCode = sdr["OperatorCode"].ToString();

                    PropertyClass.OperatorName = sdr["OperatorName"].ToString();

                    PropertyClass.PassWord = sdr["PassWord"].ToString();

                    PropertyClass.IsAdmin = sdr["IsAdmin"].ToString();

                    AppForm.Show();  //显示主窗体

                }

 

6、向下键时菜单的跳转顺序更改

this.menuStrip1.TabIndex = 1;//更改TabIndex的值即可。

 

7、关联快捷键的写法(alt+b)

this. ToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.B)))

 

8、动态获取时间

this.timerTime.Interval = 1000;//每隔1秒更新一次时间

  private void timer1_Tick(object sender, EventArgs e)

        {         

statusLabelTime.Text = "当前时间" + DateTime.Now.ToString();

        }

9、退出程序提示消息(关闭窗体之前)

    private void AppMain_FormClosing(object sender, FormClosingEventArgs e)

        {

            if (MessageBox.Show("确定要退出吗", "软件提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information) ==  DialogResult.Yes)

            {

                e.Cancel = false;

            }

            else

            {

                e.Cancel = true;

            }

        }

 

10、关闭窗体

  private void AppMain_FormClosed(object sender, FormClosedEventArgs e)

        {

            Application.Exit();

            Dispose();

        }

11、获取数据的对象,并根据这个对象写方法打开统一的窗体,实现代码重复利用

this.采购oToolStripMenuItem.Tag = "230"; //设制窗体的对象

commUse.ShowForm((ToolStripMenuItem) sender, this) //调用方法

     public void ShowForm(ToolStripMenuItem menuItem, Form form)

        {

            switch (menuItem.Tag.ToString())

            {

                case "230":

 

                    FormBSInvenType invenType = new FormBSInvenType();

                    invenType.MdiParent = form;

                    invenType.StartPosition = FormStartPosition.CenterScreen;

                    invenType.Tag = menuItem.Tag.ToString();

                    invenType.Show();

                    break;         

                 default:

                    break;

            }

 

12、创建树

        ///   TreeView控件绑定到数据源

        /// </summary>

        /// <param name="tv"> TreeView控件</param>

        /// <param name="imgList"> ImageList控件 </param>

        /// <param name="rootName"> 根节点的文本属性值</param>

        /// <param name="strTable"> 要绑定的数据表 </param>

        /// <param name="strCode"> 数据表的代码列 </param>

        /// <param name="strName"> 数据表的名称列 </param>

        public void BuildTree(TreeView tv, ImageList imgList, string rootName, string strTable, string strCode,

                              string strName)

        {

            string strSql = null;

            DataSet ds = null;

            DataTable dt = null;

            TreeNode rootNode = null;

            TreeNode childNode = null;

 

            strSql = "select " + strCode + " , " + strName + " from " + strTable;

            tv.Nodes.Clear();

            tv.ImageList = imgList;

            //创建根结点

            rootNode = new TreeNode();

            rootNode.Tag = null;

            rootNode.Text = rootName;

            rootNode.ImageIndex = 1;

            rootNode.SelectedImageIndex = 0;

 

            try

            {

                ds = db.GetDataSet(strSql, strTable);

                dt = ds.Tables[strTable];

 

                foreach (DataRow row in dt.Rows)

                {

                    //创建子节点

                    childNode = new TreeNode();

                    childNode.Tag = row[strCode];

                    childNode.Text = row[strName].ToString();

                    childNode.ImageIndex = 1;

                    childNode.SelectedImageIndex = 0;

                    rootNode.Nodes.Add(childNode);

                }

 

                tv.Nodes.Add(rootNode);

                tv.ExpandAll();//展开显示所有数据

            }

            catch (Exception e)

            {

                MessageBox.Show(e.Message, "软件提示º");

                throw e;

            }

        }

13、是否选种树结点 tvInvenType.SelectedNode != null

 

14、防止打开两个同样的窗体。 

        private bool IsOpenTab(string tabName)

        {

            bool isOpened = false;

 

            foreach (TabItem tab in tabStrip1.Tabs)

            {

                if (tab.Text.Trim() == tabName)

                {

                    isOpened = true;

                    tabStrip1.SelectedTab = tab;

                    break;

                }

            }

 

            return isOpened;

        }

 

posted on 2013-01-21 11:04  Lily_083593  阅读(139)  评论(0)    收藏  举报