{"id":2226,"date":"2018-02-08T03:29:16","date_gmt":"2018-02-07T18:29:16","guid":{"rendered":"http:\/\/okamurax.com\/?p=2226"},"modified":"2018-02-08T03:29:16","modified_gmt":"2018-02-07T18:29:16","slug":"c-%e6%89%bf%e8%aa%8d%e3%83%86%e3%82%b9%e3%83%88%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%a0","status":"publish","type":"post","link":"https:\/\/appbay.org\/?p=2226","title":{"rendered":"C# \u627f\u8a8d\u30c6\u30b9\u30c8\u30d7\u30ed\u30b0\u30e9\u30e0"},"content":{"rendered":"<p>\u627f\u8a8d\u51e6\u7406\u3002\u30cf\u30c3\u30b7\u30e5\u3092\u4f7f\u3063\u3066\u898b\u305f\u3051\u308c\u3069\u5b9f\u7528\u7684\u3067\u306f\u306a\u3055\u305d\u3046\u3002<\/p>\n<p>Main.cs<\/p>\n<pre class=\"lang:c# decode:true \">using System;\r\nusing System.Collections.Generic;\r\nusing System.ComponentModel;\r\nusing System.Data;\r\nusing System.Drawing;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading.Tasks;\r\nusing System.Windows.Forms;\r\n\r\nusing System.Data.OleDb;\r\nusing System.IO;\r\n\r\nnamespace \u30d5\u30a1\u30a4\u30eb\u8a8d\u8a3c\u30d5\u30a9\u30fc\u30e0\r\n{\r\n    public partial class Main : Form\r\n    {\r\n        public Main()\r\n        {\r\n            InitializeComponent();\r\n\r\n            this.Text = \"\u30d5\u30a1\u30a4\u30eb\u8a8d\u8a3c\u30d5\u30a9\u30fc\u30e0 1.0\";\r\n\r\n            create_dgv();\r\n\r\n            if (!load_dgv()) return;\r\n\r\n            dataGridView1.CellDoubleClick += new DataGridViewCellEventHandler(onclick_dgv);\r\n        }\r\n\r\n        private void click_approval(string id, string approval_name)\r\n        {\r\n            string qry;\r\n            string msg;\r\n\r\n            if (approval_name != \"\")\r\n            {\r\n                DialogResult result = MessageBox.Show(\"\u65e2\u306b\u8a8d\u8a3c\u6e08\u307f\u3067\u3059\u3002\u8a8d\u8a3c\u3092\u89e3\u9664\u3057\u307e\u3059\u304b\uff1f\", \"\", MessageBoxButtons.YesNo);\r\n                if (result == DialogResult.No) return;\r\n\r\n                UserPassword f = new UserPassword(approval_name);\r\n                f.ShowDialog();\r\n                if (!f.approval_check) return;\r\n\r\n                qry = \"update dat_tbl set approval_name = null where id = \" + id + \";\";\r\n                msg = \"\u89e3\u9664\";\r\n\r\n            }\r\n            else\r\n            {\r\n                UserPassword f = new UserPassword();\r\n                f.ShowDialog();\r\n                if (!f.approval_check) return;\r\n\r\n                qry = \"update dat_tbl set approval_name = '\" + f.approval_user + \"' where id = \" + id + \";\";\r\n                msg = \"\u767b\u9332\";\r\n            }\r\n\r\n            using (OleDbConnection con = new OleDbConnection(UserStrings.ds_dat))\r\n            {\r\n                try\r\n                {\r\n                    con.Open();\r\n                }\r\n                catch\r\n                {\r\n                    MessageBox.Show(\"\u30c7\u30fc\u30bf\u30fc\u30d9\u30fc\u30b9\u63a5\u7d9a\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\");\r\n                    return;\r\n                }\r\n\r\n                OleDbCommand cmd = new OleDbCommand(qry, con);\r\n\r\n                try\r\n                {\r\n                    cmd.ExecuteNonQuery();\r\n                }\r\n                catch\r\n                {\r\n                    MessageBox.Show(\"\u6b63\u3057\u304f\" + msg + \"\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002\");\r\n                    return;\r\n                }\r\n\r\n                MessageBox.Show(msg + \"\u3057\u307e\u3057\u305f\u3002\");\r\n                load_dgv();\r\n            }\r\n        }\r\n\r\n        private void click_delete(string id, string approval_name, string file_name)\r\n        {\r\n            DialogResult result = MessageBox.Show(file_name + \"\\n\" + \"\u524a\u9664\u3057\u307e\u3059\u304b\uff1f\", \"\", MessageBoxButtons.YesNo);\r\n            if (result == DialogResult.No) return;\r\n\r\n            if (approval_name == \"\")\r\n            {\r\n                row_delete(id);\r\n            }\r\n            else\r\n            {\r\n                UserPassword f = new UserPassword(approval_name);\r\n                f.ShowDialog();\r\n\r\n                if (!f.approval_check)\r\n                {\r\n                    MessageBox.Show(\"\u627f\u8a8d\u8005\u4ee5\u5916\u306f\u524a\u9664\u3067\u304d\u307e\u305b\u3093\u3002\");\r\n                    return;\r\n                }\r\n\r\n                row_delete(id);\r\n            }\r\n        }\r\n\r\n        private void click_open(string id, string approval_name, string file_name, string file_path)\r\n        {\r\n\r\n            if (!File.Exists(file_path))\r\n            {\r\n                MessageBox.Show(\"\u30d5\u30a1\u30a4\u30eb\u304c\u5b58\u5728\u3057\u307e\u305b\u3093\u3002\");\r\n                return;\r\n            }\r\n\r\n            string current_hash;\r\n\r\n            using (FileStream fs = new FileStream(file_path, FileMode.Open, FileAccess.Read, FileShare.Read))\r\n            {\r\n                System.Security.Cryptography.MD5CryptoServiceProvider md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();\r\n                byte[] bs = md5.ComputeHash(fs);\r\n\r\n                md5.Clear();\r\n\r\n                StringBuilder res = new StringBuilder();\r\n                foreach (byte b in bs)\r\n                {\r\n                    res.Append(b.ToString(\"x2\"));\r\n                }\r\n                current_hash = res.ToString();\r\n            }\r\n\r\n            using (OleDbConnection con = new OleDbConnection(UserStrings.ds_dat))\r\n            {\r\n                try\r\n                {\r\n                    con.Open();\r\n                }\r\n                catch\r\n                {\r\n                    MessageBox.Show(\"\u30c7\u30fc\u30bf\u30fc\u30d9\u30fc\u30b9\u63a5\u7d9a\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\");\r\n                    return;\r\n                }\r\n\r\n                try\r\n                {\r\n                    string q = \"select * from dat_tbl where id = \" + id + \";\";\r\n                    OleDbCommand cmd = new OleDbCommand(q, con);\r\n\r\n                    using (OleDbDataReader dr = cmd.ExecuteReader())\r\n                    {\r\n\r\n                        while (dr.Read())\r\n                        {\r\n                            if (dr[\"md5\"].ToString() == current_hash)\r\n                            {\r\n                                System.Diagnostics.Process.Start(Path.GetDirectoryName(file_path));\r\n                                return;\r\n                            }\r\n                        }\r\n\r\n                        MessageBox.Show(\"\u30cf\u30c3\u30b7\u30e5\u5024\u304c\u4e00\u81f4\u3057\u307e\u305b\u3093\u3002\");\r\n                        return;\r\n\r\n                    }\r\n                }\r\n                catch\r\n                {\r\n                    MessageBox.Show(\"\u30c7\u30fc\u30bf\u53d6\u5f97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\");\r\n                }\r\n            }  \r\n        }\r\n\r\n        private void row_delete(string id)\r\n        {\r\n            using (OleDbConnection con = new OleDbConnection(UserStrings.ds_dat))\r\n            {\r\n                try\r\n                {\r\n                    con.Open();\r\n                }\r\n                catch\r\n                {\r\n                    MessageBox.Show(\"\u30c7\u30fc\u30bf\u30fc\u30d9\u30fc\u30b9\u63a5\u7d9a\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\");\r\n                    return;\r\n                }\r\n\r\n                string q = \"delete from dat_tbl where id = \" + id + \";\";\r\n                OleDbCommand cmd = new OleDbCommand(q, con);\r\n\r\n                try\r\n                {\r\n                    cmd.ExecuteNonQuery();\r\n                }\r\n                catch\r\n                {\r\n                    MessageBox.Show(\"\u6b63\u3057\u304f\u524a\u9664\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002\");\r\n                    return;\r\n                }\r\n\r\n                MessageBox.Show(\"\u524a\u9664\u3057\u307e\u3057\u305f\u3002\");\r\n                load_dgv();\r\n            }\r\n        }\r\n\r\n        private void onclick_dgv(object sender, DataGridViewCellEventArgs e)\r\n        {\r\n            int c = e.ColumnIndex;\r\n            int r = e.RowIndex;\r\n\r\n            string id = dataGridView1.Rows[r].Cells[0].Value.ToString();\r\n            string approval_name = dataGridView1.Rows[r].Cells[1].Value.ToString();\r\n            string file_name = dataGridView1.Rows[r].Cells[4].Value.ToString();\r\n            string file_path = dataGridView1.Rows[r].Cells[5].Value.ToString();\r\n\r\n            if (c == 1 &amp;&amp; r &gt;= 0) click_approval(id, approval_name);\r\n            if (c == 4 &amp;&amp; r &gt;= 0) click_open(id, approval_name, file_name, file_path);\r\n            if (c == 5 &amp;&amp; r &gt;= 0) click_delete(id, approval_name, file_name);\r\n\r\n        }\r\n\r\n        private void create_dgv()\r\n        {\r\n            string[] headers = new string[] {\r\n                \"\", \/\/0\r\n                \"\u627f\u8a8d\u8005 (\u627f\u8a8d)\",\r\n                \"\u5f97\u610f\u5148\",\r\n                \"\u7a2e\u985e\",\r\n                \"\u30d5\u30a1\u30a4\u30eb\u540d (\u30d5\u30a1\u30a4\u30eb\u30aa\u30fc\u30d7\u30f3)\",\/\/4\r\n                \"\u30d1\u30b9\u540d (\u767b\u9332\u524a\u9664)\",\/\/5\r\n                \"\u30cf\u30c3\u30b7\u30e5\u5024\",\r\n                \"\u66f4\u65b0\u65e5\u6642\"\r\n\r\n            };\r\n\r\n            foreach (string h in headers)\r\n            {\r\n                DataGridViewTextBoxColumn col = new DataGridViewTextBoxColumn();\r\n                col.HeaderText = h;\r\n                dataGridView1.Columns.Add(col);\r\n            }\r\n\r\n            dataGridView1.ReadOnly = true;\r\n            dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;\r\n            dataGridView1.Columns[0].Visible = false;\r\n            dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;\r\n            dataGridView1.ColumnHeadersDefaultCellStyle.WrapMode = DataGridViewTriState.False;\r\n            dataGridView1.Font = new Font(\"MS UI Gothic\", 12);\r\n            dataGridView1.RowTemplate.Height = 32;\r\n            dataGridView1.AllowUserToAddRows = false;\r\n\r\n        }\r\n\r\n        public bool load_dgv(string q = \"select * from dat_tbl order by updated;\")\r\n        {\r\n            dataGridView1.Rows.Clear();\r\n            using (OleDbConnection con = new OleDbConnection(UserStrings.ds_dat))\r\n            {\r\n                try\r\n                {\r\n                    con.Open();\r\n                }\r\n                catch\r\n                {\r\n                    MessageBox.Show(\"\u30c7\u30fc\u30bf\u30fc\u30d9\u30fc\u30b9\u63a5\u7d9a\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\");\r\n                    return false;\r\n                }\r\n\r\n                try\r\n                {\r\n                    OleDbCommand cmd = new OleDbCommand(q, con);\r\n\r\n                    using (OleDbDataReader dr = cmd.ExecuteReader())\r\n                    {\r\n                        while (dr.Read())\r\n                        {\r\n                            dataGridView1.Rows.Add(\r\n                                dr[\"id\"].ToString(),\r\n                                dr[\"approval_name\"].ToString(),\/\/1\r\n                                dr[\"customer\"].ToString(),\r\n                                dr[\"document_type\"].ToString(),\r\n                                dr[\"file_name\"].ToString(),\/\/4\r\n                                dr[\"file_path\"].ToString(),\/\/5\r\n                                dr[\"md5\"].ToString(),\r\n                                dr[\"updated\"].ToString()\r\n                                );\r\n                        }\r\n                    }\r\n                }\r\n                catch\r\n                {\r\n                    MessageBox.Show(\"\u30c7\u30fc\u30bf\u53d6\u5f97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\");\r\n                    return false;\r\n                }\r\n            }\r\n            return true;\r\n        }\r\n\r\n        private void Form1_DragEnter(object sender, DragEventArgs e)\r\n        {\r\n            string[] files = (string[])e.Data.GetData(DataFormats.FileDrop, false);\r\n\r\n            if (e.Data.GetDataPresent(DataFormats.FileDrop))\r\n            {\r\n                foreach (string s in files)\r\n                {\r\n                    if (!File.Exists(s)) return;\r\n                }\r\n                e.Effect = DragDropEffects.Copy;\r\n            }\r\n        }\r\n\r\n        private void Form1_DragDrop(object sender, DragEventArgs e)\r\n        {\r\n            string[] files = (string[])e.Data.GetData(DataFormats.FileDrop,false);\r\n\r\n            PathSplit f = new PathSplit(files, this);\r\n            f.ShowDialog();\r\n        }\r\n    }\r\n}\r\n<\/pre>\n<p>UserPassword.cs<\/p>\n<pre class=\"lang:c# decode:true \">using System;\r\nusing System.Collections.Generic;\r\nusing System.ComponentModel;\r\nusing System.Data;\r\nusing System.Drawing;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading.Tasks;\r\nusing System.Windows.Forms;\r\n\r\nusing System.Data.OleDb;\r\n\r\nnamespace \u30d5\u30a1\u30a4\u30eb\u8a8d\u8a3c\u30d5\u30a9\u30fc\u30e0\r\n{\r\n    public partial class UserPassword : Form\r\n    {\r\n        public bool approval_check;\r\n        public string approval_user;\r\n\r\n        public UserPassword(string entered_user = \"\")\r\n        {\r\n            InitializeComponent();\r\n\r\n            if (entered_user == \"\")\r\n            {\r\n                textBox1.Enabled = true;\r\n            }\r\n            else\r\n            {\r\n                textBox1.Enabled = false;\r\n                textBox1.Text = entered_user;\r\n            }\r\n        }\r\n\r\n        private void button1_Click(object sender, EventArgs e)\r\n        {\r\n            using (OleDbConnection con = new OleDbConnection(UserStrings.ds_approval))\r\n            {\r\n                try\r\n                {\r\n                    con.Open();\r\n                }\r\n                catch\r\n                {\r\n                    MessageBox.Show(\"\u30c7\u30fc\u30bf\u30fc\u30d9\u30fc\u30b9\u63a5\u7d9a\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\");\r\n                    approval_check = false;\r\n                    return;\r\n                }\r\n\r\n                string user_name = textBox1.Text.Replace(\"\\'\", \"\\'\\'\");\r\n                string password = textBox2.Text.Replace(\"\\'\", \"\\'\\'\");\r\n\r\n                try\r\n                {\r\n                    string q = \"select * from approval_tbl where user_name = '\" + user_name + \"';\";\r\n                    OleDbCommand cmd = new OleDbCommand(q, con);\r\n\r\n                    using (OleDbDataReader dr = cmd.ExecuteReader())\r\n                    {\r\n\r\n                        while (dr.Read())\r\n                        {\r\n                            if (dr[\"password\"].ToString() == password)\r\n                            {\r\n                                approval_check = true;\r\n                                approval_user = user_name;\r\n\r\n                                this.Close();\r\n                                return;\r\n                            }\r\n                        }\r\n\r\n                        MessageBox.Show(\"\u30e6\u30fc\u30b6\u30fc\u304c\u5b58\u5728\u3057\u307e\u305b\u3093\u3002\");\r\n                        approval_check = false;\r\n\r\n                        return;\r\n\r\n                    }\r\n                }\r\n                catch\r\n                {\r\n                    MessageBox.Show(\"\u30c7\u30fc\u30bf\u53d6\u5f97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\");\r\n                    approval_check = false;\r\n                }\r\n            }\r\n        }\r\n    }\r\n}\r\n<\/pre>\n<p>UserStrings.cs<\/p>\n<pre class=\"lang:c# decode:true \">using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading.Tasks;\r\n\r\nusing System.Windows.Forms;\r\n\r\nnamespace \u30d5\u30a1\u30a4\u30eb\u8a8d\u8a3c\u30d5\u30a9\u30fc\u30e0\r\n{\r\n    class UserStrings\r\n    {\r\n        public static string ds_dat = \"provider=microsoft.jet.oledb.4.0;data source=\" + Application.StartupPath + @\"\\dat.mdb;\";\r\n        public static string ds_approval = \"provider=microsoft.jet.oledb.4.0;data source=\" + Application.StartupPath + @\"\\approval.mdb;\";\r\n    }\r\n}\r\n<\/pre>\n<p>PathSplit.cs<\/p>\n<pre class=\"lang:c# decode:true \">using System;\r\nusing System.Collections.Generic;\r\nusing System.ComponentModel;\r\nusing System.Data;\r\nusing System.Drawing;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading.Tasks;\r\nusing System.Windows.Forms;\r\n\r\nusing System.Data.OleDb;\r\nusing System.IO;\r\n\r\nnamespace \u30d5\u30a1\u30a4\u30eb\u8a8d\u8a3c\u30d5\u30a9\u30fc\u30e0\r\n{\r\n\r\n    public partial class PathSplit : Form\r\n    {\r\n        Main fm;\r\n\r\n        public PathSplit(string[] files, Main f)\r\n        {\r\n            fm = f;\r\n            InitializeComponent();\r\n\r\n            string[] path = files[0].Split('\\\\');\r\n\r\n            if (path.Length &gt;= 1) comboBox3.Text = path[path.Length - 1];\r\n            if (path.Length &gt;= 2) comboBox2.Text = path[path.Length - 2];\r\n            if (path.Length &gt;= 3) comboBox1.Text = path[path.Length - 3];\r\n\r\n            comboBox1.Items.AddRange(path);\r\n            comboBox2.Items.AddRange(path);\r\n            comboBox3.Items.AddRange(path);\r\n\r\n            textBox1.Text = files[0];\r\n\r\n            using (FileStream fs = new FileStream(files[0],FileMode.Open,FileAccess.Read,FileShare.Read))\r\n            {\r\n                System.Security.Cryptography.MD5CryptoServiceProvider md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();\r\n                byte[] bs = md5.ComputeHash(fs);\r\n\r\n                md5.Clear();\r\n\r\n                StringBuilder res = new StringBuilder();\r\n                foreach (byte b in bs)\r\n                {\r\n                    res.Append(b.ToString(\"x2\"));\r\n                }\r\n                textBox2.Text = res.ToString();\r\n            }\r\n        }\r\n\r\n        private bool duplicate_path_chechk()\r\n        {\r\n            using (OleDbConnection con = new OleDbConnection(UserStrings.ds_dat))\r\n            {\r\n                try\r\n                {\r\n                    con.Open();\r\n                }\r\n                catch\r\n                {\r\n                    MessageBox.Show(\"\u30c7\u30fc\u30bf\u30fc\u30d9\u30fc\u30b9\u63a5\u7d9a\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\");\r\n                    return false;\r\n                }\r\n\r\n                string file_path = textBox1.Text.Replace(\"\\'\", \"\\'\\'\");\r\n\r\n                try\r\n                {\r\n                    string q = \"select * from dat_tbl where file_path = '\" + file_path + \"';\";\r\n                    OleDbCommand cmd = new OleDbCommand(q, con);\r\n\r\n                    using (OleDbDataReader dr = cmd.ExecuteReader())\r\n                    {\r\n                        if (dr.Read())\r\n                        {\r\n                            MessageBox.Show(\"\u65e2\u306b\u767b\u9332\u6e08\u3067\u3059\u3002\u30d1\u30b9\u306f\u91cd\u8907\u3067\u304d\u307e\u305b\u3093\u3002\");\r\n                            return false;\r\n                        }\r\n                        else\r\n                        {\r\n                            return true;\r\n                        }\r\n\r\n                    }\r\n                }\r\n                catch\r\n                {\r\n                    MessageBox.Show(\"\u30c7\u30fc\u30bf\u53d6\u5f97\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\");\r\n                    return false;\r\n                }\r\n            }\r\n        }\r\n\r\n        private void button1_Click(object sender, EventArgs e)\r\n        {\r\n\r\n            if (!duplicate_path_chechk())\r\n            {\r\n                this.Close();\r\n                return;\r\n            }\r\n\r\n            using (OleDbConnection con = new OleDbConnection(UserStrings.ds_dat))\r\n            {\r\n                try\r\n                {\r\n                    con.Open();\r\n                }\r\n                catch\r\n                {\r\n                    MessageBox.Show(\"\u30c7\u30fc\u30bf\u30fc\u30d9\u30fc\u30b9\u63a5\u7d9a\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\");\r\n                    return;\r\n                }\r\n\r\n\r\n                string customer = comboBox1.Text.Replace(\"\\'\", \"\\'\\'\");\r\n                string document_type = comboBox2.Text.Replace(\"\\'\", \"\\'\\'\");\r\n                string file_name = comboBox3.Text.Replace(\"\\'\", \"\\'\\'\");\r\n                string file_path = textBox1.Text.Replace(\"\\'\",\"\\'\\'\");\r\n                string md5 = textBox2.Text;\r\n                string notes = textBox3.Text.Replace(\"\\'\", \"\\'\\'\");\r\n\r\n                string q = \"insert into dat_tbl (customer,document_type,file_name,file_path,md5,updated,notes)\" +\r\n                    \" values ('\" + customer + \"','\" + document_type + \"','\" + file_name + \"','\" + file_path + \"','\" + md5 + \"','\" + DateTime.Now.ToString(\"yyyy-MM-dd HH:mm:ss\") + \"','\" + notes + \"');\";\r\n                OleDbCommand cmd = new OleDbCommand(q,con);\r\n\r\n                try\r\n                {\r\n                    cmd.ExecuteNonQuery();\r\n                }\r\n                catch\r\n                {\r\n                    MessageBox.Show(\"\u6b63\u3057\u304f\u767b\u9332\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002\");\r\n                    return;\r\n                }\r\n\r\n                MessageBox.Show(\"\u767b\u9332\u3057\u307e\u3057\u305f\u3002\");\r\n\r\n                this.Close();\r\n                fm.load_dgv();\r\n            }\r\n        }\r\n    }\r\n}\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u627f\u8a8d\u51e6\u7406\u3002\u30cf\u30c3\u30b7\u30e5\u3092\u4f7f\u3063\u3066\u898b\u305f\u3051\u308c\u3069\u5b9f\u7528\u7684\u3067\u306f\u306a\u3055\u305d\u3046\u3002 Main.cs using System; using System.Collections.Generic; using System.ComponentMod &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/appbay.org\/?p=2226\" class=\"more-link\"><span class=\"screen-reader-text\">&#8220;C# \u627f\u8a8d\u30c6\u30b9\u30c8\u30d7\u30ed\u30b0\u30e9\u30e0&#8221; \u306e<\/span>\u7d9a\u304d\u3092\u8aad\u3080<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[9],"class_list":["post-2226","post","type-post","status-publish","format-standard","hentry","category-1","tag-c-net"],"_links":{"self":[{"href":"https:\/\/appbay.org\/index.php?rest_route=\/wp\/v2\/posts\/2226","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/appbay.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/appbay.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/appbay.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/appbay.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2226"}],"version-history":[{"count":1,"href":"https:\/\/appbay.org\/index.php?rest_route=\/wp\/v2\/posts\/2226\/revisions"}],"predecessor-version":[{"id":2227,"href":"https:\/\/appbay.org\/index.php?rest_route=\/wp\/v2\/posts\/2226\/revisions\/2227"}],"wp:attachment":[{"href":"https:\/\/appbay.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2226"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/appbay.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2226"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/appbay.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2226"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}