using Syncfusion.Pdf.Parsing; using System; using System.Data; using System.Drawing; using System.IO; using System.Windows.Forms; namespace Mip { public partial class frmPridatVyrobok : Form { DataTable pomocnaDT = new DataTable(); Point poinPosition; bool deleteRow = false; Single z = 1; int sizeH; int sizeW; string IDVyrobok; DataTable DTVykresy = new DataTable(); public frmPridatVyrobok(string strZakaznik, string idVyrobok = null) { InitializeComponent(); label2.Text = strZakaznik; IDVyrobok = idVyrobok; this.MouseWheel += new MouseEventHandler(pictureBox1_MouseWheel); } private void pictureBox1_MouseWheel(object sender, MouseEventArgs e) { if (pictureBox1.Image != null) { pictureBox1.SizeMode = PictureBoxSizeMode.Zoom; z += (Convert.ToSingle(0.1) * (e.Delta / Math.Abs(e.Delta))); pictureBox1.Height = Convert.ToInt32(sizeH * z); pictureBox1.Width = Convert.ToInt32(sizeW * z); if (dataGridView1.RowCount != 0) { DataGridViewRow dtrw; dtrw = dataGridView1.CurrentRow; groupBox1.Text = "Zobraziť výkres: " + dtrw.Cells["Nazov_suboru"].Value.ToString() + ", " + "Zoom= " + (Convert.ToSingle(pictureBox1.Width) / Convert.ToSingle(pictureBox1.Image.Width)).ToString(); } } } private void frmPridatVyrobok_Load(object sender, EventArgs e) { pomocnaDT.Columns.Add("Nazov_suboru", typeof(string)); pomocnaDT.Columns.Add("Velkost_suboru", typeof(string)); pomocnaDT.Columns.Add("Typ_suboru", typeof(string)); pomocnaDT.Columns.Add("Cesta", typeof(string)); pomocnaDT.Columns.Add("Data", typeof(string)); pomocnaDT.Columns.Add("Valid", typeof(int)); VypisSpojenyRozmer(); classGlobal.FillCB(comboBox2, "tabpomocnychudajov", "Hodnota", "Kategoria", "Pridať iný názov"); //if (IDVyrobok != null) //{ // LoadEditData(); //} } //private void LoadEditData() //{ // DataTable DTEditVyrobok = new DataTable(); // //dGVZoznamVyrobkov.CurrentRow.Cells["IDVyrobok"].Value.ToString() // classSQL.SQL("SELECT * FROM tabvyrobok WHERE `IDVyrobok` = " + IDVyrobok + ";", out DTEditVyrobok); // label2.Text = DTEditVyrobok.Rows[0].ItemArray[DTEditVyrobok.Columns["Zakaznik"].Ordinal].ToString(); // textBox6.Text = DTEditVyrobok.Rows[0].ItemArray[DTEditVyrobok.Columns["NazovVyrobku"].Ordinal].ToString(); // comboBox2.Text = DTEditVyrobok.Rows[0].ItemArray[DTEditVyrobok.Columns["InyNazov"].Ordinal].ToString(); // if (DTEditVyrobok.Rows[0].ItemArray[DTEditVyrobok.Columns["RozmerTvar"].Ordinal].ToString() == "Ø") numericUpDown1.Value = 0; // else numericUpDown1.Value = 1; // textBox2.Text = DTEditVyrobok.Rows[0].ItemArray[DTEditVyrobok.Columns["Rozmer1"].Ordinal].ToString(); // textBox3.Text = DTEditVyrobok.Rows[0].ItemArray[DTEditVyrobok.Columns["Rozmer2"].Ordinal].ToString(); // textBox4.Text = DTEditVyrobok.Rows[0].ItemArray[DTEditVyrobok.Columns["Rozmer3"].Ordinal].ToString(); // textBox1.Text = DTEditVyrobok.Rows[0].ItemArray[DTEditVyrobok.Columns["RozlisZnakKonecnaOp"].Ordinal].ToString(); // textBox5.Text = DTEditVyrobok.Rows[0].ItemArray[DTEditVyrobok.Columns["Alias"].Ordinal].ToString(); // textBox7.Text = DTEditVyrobok.Rows[0].ItemArray[DTEditVyrobok.Columns["PocetSegmentov"].Ordinal].ToString(); // VypisSpojenyRozmer(); // string cmd = @"SELECT `IDVyrobok`, // `IndexVykresu`, // `IndexVykresu` AS `OldIndexVykresu`, // 'Z databázy SQL' AS `Názov`, // '-' AS `Cesta`, // `IDVykres`, // IF (`IndexVykresu` < 100, 'Aktuálny','Neaktuálny') AS `StatusVykresu` // FROM `mip`.`tabvykres` WHERE `IDVyrobok` = " + IDVyrobok + " ORDER BY `IndexVykresu` ;"; // classSQL.SQL(cmd, out DTVykresy); // dataGridView1.DataSource = DTVykresy; //} private void btnAddVykres_Click(object sender, EventArgs e) { openFileDialog1.Multiselect = true; openFileDialog1.DefaultExt = "jpg"; openFileDialog1.Filter = "Obrázky (*.BMP;*.JPG;*.JPEG;*.GIF;*.PNG;*.EXIF;*.TIFF)|*.BMP;*.JPG;*.JPEG;*.GIF;*.PNG;*.EXIF;*.TIFF|" + "Pdf súbory (*.pdf)|*.pdf"; openFileDialog1.FilterIndex = 1; openFileDialog1.FileName = ""; openFileDialog1.ShowDialog(); if (openFileDialog1.FileNames != null && openFileDialog1.FileName != "") { foreach (string Cesta in openFileDialog1.FileNames) { bool CestaExist = false; foreach (DataRow rowCesta in pomocnaDT.Rows) { if (rowCesta["Cesta"].ToString() == Cesta.ToString()) CestaExist = true; } if (!CestaExist) { FileStream fileStream; fileStream = new FileStream(Cesta, FileMode.Open, FileAccess.Read); var fileSize = (int)fileStream.Length; var VykresData = new byte[fileSize]; fileStream.Read(VykresData, 0, fileSize); var FileNameStart = Cesta.LastIndexOf("\\") + 1; var FileName = Cesta.Substring(FileNameStart, Cesta.Length - FileNameStart); var ExtensionStart = Cesta.LastIndexOf(".") + 1; var Extension = Cesta.Substring(ExtensionStart, Cesta.Length - ExtensionStart); pomocnaDT.Rows.Add(FileName, Cesta.Length.ToString(), Extension, Cesta, VykresData.ToString(), Convert.ToInt32(IsFileValid(VykresData, Extension))); dataGridView1.DataSource = pomocnaDT; StyleGridView(); dataGridView1.Rows[dataGridView1.Rows.Count - 1].Selected = true; obrazok_Refresh(dataGridView1.Rows.Count - 1); if (dataGridView1.Rows.Count > 5) dataGridView1.FirstDisplayedScrollingRowIndex = dataGridView1.Rows.Count - 5; } else { MessageBox.Show("Súbor: " + Cesta + "\n už v zozname figuruje!", "Upozornenie ...", MessageBoxButtons.OK, MessageBoxIcon.Warning); } pictureBox1.Visible = true; } } if (textBox6.Text != "" && textBox2.Text != "" && textBox3.Text != "" && textBox4.Text != "" && dataGridView1.Rows.Count != 0) button5.Enabled = true; else button5.Enabled = false; //kontrola naplnenia povinných dát } private void StyleGridView() { dataGridView1.Columns["Data"].Visible = false; dataGridView1.AutoResizeColumns(); dataGridView1.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells; dataGridView1.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells; dataGridView1.Columns[2].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells; dataGridView1.Columns[3].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; dataGridView1.Columns[5].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells; dataGridView1.AutoResizeRows(); } private bool IsFileValid(byte[] vykresData, string extension) { try { switch (extension) { case "pdf": PdfLoadedDocument loadedDocument = new PdfLoadedDocument(vykresData); Bitmap pdfToJpeg = loadedDocument.ExportAsImage(0); loadedDocument.Close(true); return true; default: var memoryStream = new MemoryStream(vykresData); Bitmap image = new Bitmap(memoryStream); return true; } } catch (Exception) { //MessageBox.Show($"Súbor '{Cesta}' nie je obrázok ani pdf"); return false; } } private void btnVymazVykres_Click(object sender, EventArgs e) { deleteRow = true; int currentRowIndex = dataGridView1.CurrentRow.Index; pomocnaDT.Rows[currentRowIndex].Delete(); if (pomocnaDT.Rows.Count == 0) { btnVymazVykres.Enabled = false; button5.Enabled = false; button1.Enabled = false; pictureBox1.Visible = false; } else //v tabulke ešte sú dáta { if (currentRowIndex > 0) currentRowIndex--; dataGridView1.Rows[currentRowIndex].Selected = true; obrazok_Refresh(currentRowIndex); pictureBox1.Visible = true; } if (textBox6.Text != "" && textBox2.Text != "" && textBox3.Text != "" && textBox4.Text != "" && dataGridView1.Rows.Count != 0) button5.Enabled = true; else button5.Enabled = false; //kontrola naplnenia povinných dát } private void pictureBox1_LocationChanged(object sender, EventArgs e) { } //int p1=0; private void dataGridView1_RowEnter(object sender, DataGridViewCellEventArgs e) { //label1.Text = "teraz "+p1++.ToString(); btnVymazVykres.Enabled = true; button1.Enabled = true; if (textBox6.Text != "" && textBox2.Text != "" && textBox3.Text != "" && textBox4.Text != "" && dataGridView1.Rows.Count != 0) button5.Enabled = true; else button5.Enabled = false; //kontrola naplnenia povinných dát if (!deleteRow) obrazok_Refresh(e.RowIndex); else deleteRow = false; } private void obrazok_Refresh(int index) { FileStream fs; int fileSize; byte[] fileData; DataRow dRow; if (pomocnaDT.Rows.Count != 0) { dRow = pomocnaDT.Rows[index]; var isPdf = dRow["Typ_suboru"].ToString() == "pdf"; var isValid = dRow["Valid"].ToString() == "1"; if (isValid) { if (isPdf) { FileStream pdfFileStream = new FileStream(dRow["Cesta"].ToString(), FileMode.Open, FileAccess.Read); pictureBox1.Visible = false; pdfDocumentView1.Visible = true; pdfDocumentView1.Load(pdfFileStream); pdfDocumentView1.ZoomMode = Syncfusion.Windows.Forms.PdfViewer.ZoomMode.FitWidth; pdfDocumentView1.Dock = DockStyle.Fill; } else { fs = new FileStream(dRow["Cesta"].ToString(), FileMode.Open, FileAccess.Read); fileSize = (int)fs.Length; fileData = new byte[fileSize]; fs.Read(fileData, 0, fileSize); fs.Close(); Bitmap obrazok; //using (MemoryStream stream = new MemoryStream(fileData)) obrazok = new Bitmap(stream); MemoryStream stream = new MemoryStream(fileData); obrazok = new Bitmap(stream); pictureBox1.Visible = true; pictureBox1.Image = obrazok; pictureBox1.Height = obrazok.Height; pictureBox1.Width = obrazok.Width; sizeH = pictureBox1.Image.Size.Height; sizeW = pictureBox1.Image.Size.Width; pdfDocumentView1.Visible = false; } } else { pictureBox1.Visible = false; pdfDocumentView1.Visible = false; } z = 1; } } private void label9_Click(object sender, EventArgs e) { } private void Zavrieť_Click(object sender, EventArgs e) { this.Close(); } private void textBox2_TextChanged(object sender, EventArgs e) { VypisSpojenyRozmer(); if (textBox6.Text != "" && textBox2.Text != "" && textBox3.Text != "" && textBox4.Text != "" && dataGridView1.Rows.Count != 0) button5.Enabled = true; else button5.Enabled = false; //kontrola naplnenia povinných dát } public void VypisSpojenyRozmer() { string strSpojeny = ""; string strKonZnak = ""; if (textBox2.Text != "") { if (textBox1.Text == "") strKonZnak = ""; else strKonZnak = " -" + textBox1.Text; if (numericUpDown1.Value == 0) { if (textBox3.Text != "" && textBox3.Text != "0") strSpojeny = label10.Text + textBox2.Text + "/" + textBox3.Text + "x" + textBox4.Text + strKonZnak; else strSpojeny = label10.Text + textBox2.Text + "x" + textBox4.Text + strKonZnak; } else strSpojeny = label10.Text + textBox2.Text + "x" + textBox3.Text + "x" + textBox4.Text + strKonZnak; } else strSpojeny = ""; label12.Text = strSpojeny; } private void numericUpDown1_ValueChanged(object sender, EventArgs e) { if (numericUpDown1.Value == 0) { label10.Text = "Ø"; label4.Text = "Ømax"; label5.Text = "Ømin"; label6.Text = "Dĺžka"; } else { label10.Text = "□"; label4.Text = "X"; label5.Text = "Y"; label6.Text = "Z"; } VypisSpojenyRozmer(); } private void textBox3_TextChanged(object sender, EventArgs e) { VypisSpojenyRozmer(); if (textBox6.Text != "" && textBox2.Text != "" && textBox3.Text != "" && textBox4.Text != "" && dataGridView1.Rows.Count != 0) button5.Enabled = true; else button5.Enabled = false; //kontrola naplnenia povinných dát } private void textBox4_TextChanged(object sender, EventArgs e) { VypisSpojenyRozmer(); if (textBox6.Text != "" && textBox2.Text != "" && textBox3.Text != "" && textBox4.Text != "" && dataGridView1.Rows.Count != 0) button5.Enabled = true; else button5.Enabled = false; //kontrola naplnenia povinných dát } private void textBox2_KeyPress(object sender, KeyPressEventArgs e) { float floatResult; if (e.KeyChar == '.') e.KeyChar = ','; if (!(float.TryParse(textBox2.Text + e.KeyChar, out floatResult)) && (int)e.KeyChar != 8) e.KeyChar = '\0'; } private void textBox3_KeyPress(object sender, KeyPressEventArgs e) { float floatResult; if (e.KeyChar == '.') e.KeyChar = ','; if (!(float.TryParse(textBox3.Text + e.KeyChar, out floatResult)) && (int)e.KeyChar != 8) e.KeyChar = '\0'; } private void textBox4_KeyPress(object sender, KeyPressEventArgs e) { float floatResult; if (e.KeyChar == '.') e.KeyChar = ','; if (!(float.TryParse(textBox4.Text + e.KeyChar, out floatResult)) && (int)e.KeyChar != 8) e.KeyChar = '\0'; } private void textBox1_TextChanged(object sender, EventArgs e) { VypisSpojenyRozmer(); } private void pictureBox1_Click(object sender, EventArgs e) { textBox1.Focus(); } private void pictureBox1_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { poinPosition = e.Location; } } private void groupBox1_Enter(object sender, EventArgs e) { } private void dataGridView1_DataMemberChanged(object sender, EventArgs e) { } private void dataGridView1_CurrentCellChanged(object sender, EventArgs e) { } private void button5_Click(object sender, EventArgs e) { } private void dataGridView1_KeyPress(object sender, KeyPressEventArgs e) { if (btnVymazVykres.Enabled && ((Keys)e.KeyChar == Keys.Delete || e.KeyChar == '-')) btnVymazVykres_Click(null, null); if (e.KeyChar == '+') btnAddVykres_Click(null, null); } private void frmPridatVyrobok_KeyPress(object sender, KeyPressEventArgs e) { // dataGridView1_KeyPress(null, e); } private void dataGridView1_UserDeletingRow(object sender, DataGridViewRowCancelEventArgs e) { btnVymazVykres_Click(null, null); } private void button6_Click(object sender, EventArgs e) { } private void panel1_Paint(object sender, PaintEventArgs e) { } private void btnCopyToClipboard_Click(object sender, EventArgs e) { Clipboard.SetText(textBox5.Text); } private void pictureBox1_MouseMove(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { Point changePoint = new Point(e.Location.X - poinPosition.X, e.Location.Y - poinPosition.Y); panel1.AutoScrollPosition = new Point(-panel1.AutoScrollPosition.X - changePoint.X, -panel1.AutoScrollPosition.Y - changePoint.Y); } } private void pictureBox1_MouseUp(object sender, MouseEventArgs e) { } private void button6_Click_1(object sender, EventArgs e) { pictureBox1.SizeMode = PictureBoxSizeMode.Zoom; z += Convert.ToSingle(0.1); pictureBox1.Height = Convert.ToInt32(sizeH * z); pictureBox1.Width = Convert.ToInt32(sizeW * z); if (dataGridView1.RowCount != 0) { DataGridViewRow dtrw; dtrw = dataGridView1.CurrentRow; groupBox1.Text = "Zobraziť výkres: " + dtrw.Cells["Nazov_suboru"].Value.ToString() + ", " + "Zoom= " + (Convert.ToSingle(pictureBox1.Width) / Convert.ToSingle(pictureBox1.Image.Width)).ToString(); } } private void button7_Click(object sender, EventArgs e) { pictureBox1.SizeMode = PictureBoxSizeMode.Zoom; z -= Convert.ToSingle(0.1); pictureBox1.Height = Convert.ToInt32(sizeH * z); pictureBox1.Width = Convert.ToInt32(sizeW * z); if (dataGridView1.RowCount != 0) { DataGridViewRow dtrw; dtrw = dataGridView1.CurrentRow; groupBox1.Text = "Zobraziť výkres: " + dtrw.Cells["Nazov_suboru"].Value.ToString() + ", " + "Zoom= " + (Convert.ToSingle(pictureBox1.Width) / Convert.ToSingle(pictureBox1.Image.Width)).ToString(); } } private void button1_Click(object sender, EventArgs e) { string nazov = dataGridView1.CurrentRow.Cells["Nazov_Suboru"].Value.ToString(); char[] nnazov = new char[nazov.LastIndexOf(".")]; nazov.CopyTo(0, nnazov, 0, nnazov.Length); textBox6.Text = new string(nnazov); } private void button2_Click(object sender, EventArgs e) { Form Add = new frmAddPomUdaje(); Add.Text = "Pridať iný názov"; DialogResult dr = Add.ShowDialog(); if (dr == DialogResult.OK) { classGlobal.FillCB(comboBox2, "tabpomocnychudajov", "Hodnota", "Kategoria", "Pridať iný názov"); comboBox2.Text = classGlobal.strNovyPomocnyUdaj; } } private void button5_Click_1(object sender, EventArgs e) { string cmd; DataTable dtbl = new DataTable(); classSQL.SQL("SELECT `NazovVyrobku` FROM `mip`.`tabvyrobok` WHERE `Zakaznik`= '" + label2.Text + "' AND `NazovVyrobku` = '" + textBox6.Text + "';", out dtbl); if (dtbl.Rows.Count != 0) MessageBox.Show("Výrobok s názvom: \n " + textBox6.Text + "\n v datábáze výrobkov odberateľa " + label2.Text + " už existuje!!!\n Prosím zmeňte názov výrobku", "Pozor ... ", MessageBoxButtons.OK, MessageBoxIcon.Warning); //Ak sa výrobok v databaze uz nachádza else // ak sa výrobok v dtbaze nenachádza tak ho pridať { classGlobal.strNovyPomocnyUdaj = textBox6.Text; //pomocný údaj pre naplnenie comboboxu po zavreti okna string statusVyrobku = ""; if (radioButton1.Checked == true) statusVyrobku = "Výroba"; if (radioButton2.Checked == true) statusVyrobku = "Cenová ponuka"; if (textBox7.Text == "") textBox7.Text = "1"; // Ak je pocet segmentov "" tak potom je 1 cmd = "INSERT INTO `mip`.`tabvyrobok` (`NazovVyrobku`, `RozmerTvar`, `Rozmer1`, `Rozmer2`, `Rozmer3`, `SpojeneRozmery`, `Zakaznik`, `InyNazov`, `RozlisZnakKonecnaOp`, `Alias`,`PocetSegmentov`, `Status výrobku`) VALUES ('" + textBox6.Text.ToString() + "', '" //NazovVyrobku + label10.Text.ToString() + "', " //RozmerTvar + textBox2.Text.ToString().Replace(",", ".") + ", " //rozmer1 + textBox3.Text.ToString().Replace(",", ".") + "," //rozmer2 + textBox4.Text.ToString().Replace(",", ".") + ", '" //rozmer3 + label12.Text.ToString() + "', '" //spojene rozmery + label2.Text.ToString() + "', '" //zakaznik + comboBox2.Text.ToString() + "', '" //Iny nazov + textBox1.Text.ToString() + "', '" //rozlis znak alebo konecna operacia + textBox5.Text.ToString() + "', " //alias + textBox7.Text.ToString() + ", '" + statusVyrobku + "');"; //Pocet segmetnov classSQL.SQL(cmd); //dtbl=classSQL.commandSQL(cmd,1); // int IDVyrobok; //classSQL.commandSQL("SELECT `IDVyrobok` FROM `mip`.`tabvyrobok` WHERE `Zakaznik`= '" + label2.Text + "';"); // IDVyrobok = (int)classSQL.dTable.Rows[0]["IDVyrobok"]; string ccmmdd = "SELECT `NazovVyrobku`,`IDVyrobok` FROM `mip`.`tabvyrobok` WHERE `Zakaznik`= '" + label2.Text + "' AND `NazovVyrobku` = '" + textBox6.Text + "';"; classSQL.SQL(ccmmdd, out dtbl); DataRow dtrw = dtbl.Rows[0]; IDVyrobok = Convert.ToInt32(dtrw["IDVyrobok"].ToString()); var indexVykresu = 1; for (int p1 = 0; p1 < pomocnaDT.Rows.Count; p1++) { FileStream fs; int fileSize; byte[] VykresData; dtrw = pomocnaDT.Rows[p1]; var isValid = dtrw["Valid"].ToString() == "1"; if (isValid) { fs = new FileStream(dtrw["Cesta"].ToString(), FileMode.Open, FileAccess.Read); fileSize = (int)fs.Length; VykresData = new byte[fileSize]; fs.Read(VykresData, 0, fileSize); var fileToSave = new byte[fileSize]; switch (dtrw["Typ_suboru"].ToString()) { case "pdf": PdfLoadedDocument loadedDocument = new PdfLoadedDocument(VykresData); Bitmap pdfToJpeg = loadedDocument.ExportAsImage(0); loadedDocument.Close(true); fileToSave = SaveAsJpeg(pdfToJpeg); break; case "jpg": fileToSave = VykresData; break; default: Bitmap imageToJpeg = new Bitmap(fs); fileToSave = SaveAsJpeg(imageToJpeg); break; } fs.Close(); classSQL.SaveVykresToSQL(IDVyrobok, indexVykresu, fileToSave); indexVykresu += 1; } else { MessageBox.Show($"Výkres '{dtrw["Cesta"]}' nie je validný obrázok alebo pdf! {Environment.NewLine} Preto nebol uložený do databázy."); } } MessageBox.Show("Výrobok úspešne pridaný!"); this.DialogResult = DialogResult.OK; this.Close(); // } } private byte[] SaveAsJpeg(Bitmap image) { byte[] returnImageData; using (var stream = new MemoryStream()) { image.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg); returnImageData = stream.ToArray(); } return returnImageData; } private void textBox6_TextChanged(object sender, EventArgs e) { if (textBox6.Text != "" && textBox2.Text != "" && textBox3.Text != "" && textBox4.Text != "" && dataGridView1.Rows.Count != 0) button5.Enabled = true; else button5.Enabled = false; //kontrola naplnenia povinných dát } private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { } private void textBox6_KeyPress(object sender, KeyPressEventArgs e) { /* char[] invalidchars = Path.GetInvalidFileNameChars(); foreach (char znak in invalidchars) { if (e.KeyChar == znak) e.KeyChar = '\0'; */ if ((int)e.KeyChar != 8) foreach (char znak in Path.GetInvalidFileNameChars()) if (e.KeyChar == znak) e.KeyChar = '\0'; } private void toolTip1_Popup(object sender, PopupEventArgs e) { } private void toolTip1_Draw(object sender, DrawToolTipEventArgs e) { } private void textBox7_KeyPress(object sender, KeyPressEventArgs e) { int intResult; //if (e.KeyChar == '.') e.KeyChar = ','; if (!(int.TryParse(textBox7.Text + e.KeyChar, out intResult)) && (int)e.KeyChar != 8) e.KeyChar = '\0'; } } }