/// <summary>
        /// Return false if login user is not DBO.
        /// </summary>
        /// <param name="tpf">a TracePropertiesForm object</param>
        /// <returns>False if login user is not DBO.</returns>
        bool permission(TracePropertiesForm tpf)
        {
            System.Data.SqlClient.SqlConnection conn;
            if (tpf.RawConn != null)
            {
                conn = new System.Data.SqlClient.SqlConnection(tpf.RawConn);
            }
            else
            {
                string str_conn = string.Format("Data Source={0};Application Name={1};Database={2};",
                                                tpf.ServerName, "sqlprofilerapp", "master");
                if (tpf.Username == string.Empty)
                {
                    str_conn += string.Format("Integrated Security={0};", true);
                }
                else
                {
                    str_conn += string.Format("User ID={0};Password={1};", tpf.Username, tpf.Password);
                }
                conn = new System.Data.SqlClient.SqlConnection(str_conn);
            }
            conn.Open();
            Microsoft.SqlServer.Management.Common.ServerConnection sconn;
            sconn = new Microsoft.SqlServer.Management.Common.ServerConnection(conn);
            Microsoft.SqlServer.Management.Smo.Server server;
            server = new Microsoft.SqlServer.Management.Smo.Server(sconn);
            bool rc = server.Databases["master"].DboLogin;

            conn.Close();

            return(rc);
        }
        private void newToolStripMenuItem_Click(object sender, EventArgs e)
        {
            TracePropertiesForm tpf = new TracePropertiesForm();

            tpf.StartPosition = FormStartPosition.CenterScreen;

            if (tpf.ShowDialog() == DialogResult.OK)
            {
                if (!permission(tpf))
                {
                    System.Windows.Forms.MessageBox.Show(string.Format("'{0}' has no correct permission.", tpf.Username),
                                                         "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
                else
                {
                    Trace trace = _traceManager.RunProfiler(tpf.ServerName, tpf.Username, tpf.Password, tpf.TraceName, tpf.RawConn, tpf.EventProperties, tpf.FilterProperties);

                    TraceViewControl tvc = new TraceViewControl();
                    tvc.Name  = "TraceViewControl";
                    tvc.Trace = trace;
                    tvc.Dock  = DockStyle.Fill;

                    FATabStripItem item = new FATabStripItem(tvc);
                    item.Title = tpf.TraceName;
                    tabStrip.AddTab(item, true);

                    tabStrip.Enabled = true;
                }
            }
        }