|
If u only want to validate decimal, then you can try following code at textbox change event:
void textBox1_TextChanged(object sender, EventArgs e)
{
if (textBox1.Text.Trim() != "")
{
decimal j;
if (!decimal.TryParse(textBox1.Text, out j))
{
MessageBox.Show("Not allowed!!!");
textBox1.Text = "";
}
}
}
private Here, replace "textBox1" with your textbox ID.
|
|
|
|
|
Rather than trying to prevent "wrong" input, you should check the data when the user has finished input. Even when you prevent copy/paste of invalid data, some other technology might be used to get a "wrong" input into the box, e.g. a WM_SETTEXT message (think of assistive technologies).
The "Validate" event of the textbox is a good place to do so.
|
|
|
|
|
The database is irrelevant to this question. Your database schema should prevent nulls, and you want a control that gives you a double.
A good numeric text box should:
- Hook TextChanged to make sure that the value can never be invalid, e.g. if you try to paste into it, set the text programatically (e.g. through data binding) or any other way of putting text in there. Note that 'valid content' isn't necessarily a valid number, because you need to allow intermediate input that someone will type while entering a number. For example '', '-', '3.', '6E' (if supporting exponential notation) and the like should be allowed. You can find or write a regex for this part.
- Hook the keyboard input events (KeyPress should be enough) to reject any characters that can never be allowed, e.g. anything but numbers, or a minus sign in an empty field, or a dot. This prevents the TextChanged handler from firing, wiping the invalid character but resetting the caret.
- Have a numeric Value property that you can read and write in code.
|
|
|
|
|
A NumericUpDown already has everything you need.
|
|
|
|
|
My Simple Numeric TextBox[^] may be a good place to start. It doesn't do everything you require but could with a little effort.
|
|
|
|
|
|
And neither is the article/source - all C#!
|
|
|
|
|
Hello,
is there any dotnet libary to read /change and write MAT files? I use MatLab 2010b and try to find some libs, but i found nothing about that. I found some posts about using com, but found nothing about reading MAT files. Have anybody an idea?
|
|
|
|
|
This[^] post implies you'll need to P/Invoke the MatLab Windows API.
/ravi
|
|
|
|
|
Thx for the answer. I will try this the next days.
Rene
|
|
|
|
|
I'm trying to look at the class diagrams generated from my code in VS2010 Express, but I don't see a toolbar or window under any of my menus. I checked online and found the following from MSDN:
http://msdn.microsoft.com/en-us/library/gg269474.aspx
Does anyone know if this works on the Express edition of VS? If not, can anyone recommend a (free) tool that can help? Thanks.
|
|
|
|
|
|
Following a C# book and working with Visual Studio 2008 Team Suite. The excercise is a contacts app and involves the introduction of a logo. Additionally, Clicking on the logo generates an "About" feature. Double clicking the logo in the excercise leads to the error " editing embeded resources directly is not supported. Do you wish to convert this item to a linked resource in order to edit it?
The inserted code to generate the "About" feature is: MessageBox.Show ("Contact List 1.0. \nWritten by: Maurice Newsome" , "About") ; Visual Studio flashed a notification about an expected
Three pages of the book and images of my efforts are uploaded to: [COLOR="#0000FF"]https://skydrive.live.com/?cid=4ad6aabd72471dbb&sc=documents&id=4AD6AABD72471DBB%216691#cid=4AD6AABD72471DBB&id=4AD6AABD72471DBB%216692&sc=documents [/COLOR]
I seek guidance on how to address the semi-colon placement issue and why the Logo does not yield the expected results
|
|
|
|
|
If what you are saying is that you need help getting the code provided with a book to work, then I would suggest finding their website or forum. Also, please tag your code so it displays as code. Also, don't you have the code about the expected semi colon? What is it?
"I have a theory that the truth is never told during the nine-to-five hours. "
— Hunter S. Thompson
|
|
|
|
|
|
Uh, you need to actually run the program to see the expected behaviour, not click things in the designer which is what your double click message sounds like.
|
|
|
|
|
Hi...I didnt get a proper reply thats why i m posting it again....there is problem in backup of database.Here i m providing the code..
try
{
DateTime Time = DateTime.Now;
int year = Time.Year;
int month = Time.Month;
int day = Time.Day;
int hour = Time.Hour;
int minute = Time.Minute;
int second = Time.Second;
int millisecond = Time.Millisecond;
//Save file to C:\ with the current date as a filename
string path ;
string p = saveFileDialog1.FileName;
path = p + year + "-" + month + "-" + day +
"-" + hour + "-" + minute + "-" + second + "-" + millisecond + ".sql";
StreamWriter file = new StreamWriter(path);
ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = @"C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqldump.exe";
psi.RedirectStandardInput = false;
psi.RedirectStandardOutput = true;
psi.Arguments = string.Format(@"-u{0} -p{1} -h{2} {3}",
"root", "123456", "localhost", "userdb");
psi.UseShellExecute = false;
Process process = Process.Start(psi);
string output;
output = process.StandardOutput.ReadToEnd();
file.WriteLine(output);
process.WaitForExit();
file.Close();
process.Close();
MessageBox.Show("backup is created");
}
catch (IOException ex)
{
if (System.Diagnostics.Debugger.IsAttached())
{
Console.WriteLine(ex.ToString());
}
else
MessageBox.Show("Error , unable to backup!");
}
}
so the problem is when pointer reach to this line-
Process process = Process.Start(psi)
then an existing event is automatically called and i dont think that this event has to do anything with it....the event is this..
private void tabControl1_DrawItem(object sender, DrawItemEventArgs e)
{
// if (tabControl1.TabPages.Count != 1)
{
e.Graphics.DrawString("x", e.Font, Brushes.Black, e.Bounds.Right - 15, e.Bounds.Top + 4);
e.Graphics.DrawString(this.tabControl1.TabPages[e.Index].Text, e.Font, Brushes.Black, e.Bounds.Left + 12, e.Bounds.Top + 4);
e.DrawFocusRectangle();
}
}
so because of this i m unable to create a proper backup file...so plz give some suggestion....
|
|
|
|
|
Your code calls MessageBox.Show , which obscures (part of) (one of) your app's windows; when you close the MessageBox, whatever was obscured needs repainting, that seems like why you are getting such event(s).
Test the hypothesis by writing your messages to a file, or to a ListBox on your Window, rather than using MessageBox. In fact, I recommend to do that anyway, MessageBoxes are pretty annoying, while logging is very useful during development and afterwards.
And please start using <PRE> tags (e.g.use the "code" widget) when showing code; it preserves formatting and improves readability.
|
|
|
|
|
Actually sir the thing is that event will also be called when code exit out of backup....so i think thats not an issue....The main thing is, the line
Process process=Process.Start(psi);
is not executing....and after this line i m getting error.....
|
|
|
|
|
Hi Everyone,
I am facing an issue in appending quotes to the string value that I am holding in a String Builder variable.
The value that I hold in the variable is,
abc@def@ghi@jkl@
I would like to change the @ with "," so that i get the final result as,
"abc","def","ghi","jkl"
I tried the string format, but did not succeed. Any help in this matter is greatly appriciated.
|
|
|
|
|
Replace perhaps?
But why create the string with the @ s rather than the characters you want? Creating the string the way you want shouldn't be a problem. Perhaps you should explain what you want and show the code you have so far.
|
|
|
|
|
try
{
oleDbDa.Fill(ds,"ServerName");
DataTable dt = ds.Tables["ServerName"];
foreach(DataRow dr in dt.Rows)
{
foreach (DataColumn dc in dt.Columns)
strServerName.Append(dr[dc].ToString()).Append("\",\"");
}
Response.Write(strServerName);
}
But here again i need to get rid of of the quotations at the end of the string and need to add it before the string.
The result that is get is,
abc","def","ghi","jkl","
As I had mentioned i'd like to get the result as,
"abc","def","ghi","jkl"
|
|
|
|
|
How about:
foreach(DataRow dr in dt.Rows)
{
foreach (DataColumn dc in dt.Columns)
strServerName.AppendFormat( "\"{0}\"," , dr[dc] );
}
strServerName.Length-- ;
|
|
|
|
|
Thanks PIEBALDconsult for the help. The solution is just perfect, but there is an extra comma at the end of the string,
"abc","def","ghi","jkl",
How could I get rid of the last comma?
|
|
|
|
|
You probably left off the decrement of the Length.
|
|
|
|