|
Create a new class called NumericBox and inherit Windows.Forms.TextBox
Now all you need to do is intercept keypresses with the KeyPress event, and validate them, for example :-
Private Sub NumericBox_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles MyBase.KeyPress<br />
Dim KeyAscii As Integer<br />
<br />
KeyAscii = Asc(e.KeyChar)<br />
<br />
Select Case KeyAscii<br />
Case 8, 13 ' backspace and carriage return<br />
'Do nothing as the input is valid<br />
Case 48 To 57 ' Keys 0 to 9 <br />
'Test the number of decimal places<br />
If Me.Text.Contains(".") Then<br />
If (Me.Text.Trim.Length - InStr(Me.Text, ".")) >= DecimalPlaces Then KeyAscii = 0<br />
End If<br />
<br />
'Test to see if the new value will exceed the maximum value<br />
'or minimum value limits<br />
Dim sValue As String = Value.ToString<br />
Dim dValue As String<br />
sValue &= e.KeyChar<br />
dValue = CType(sValue, Decimal)<br />
If dValue < Minimum Or dValue > Maximum Then KeyAscii = 0<br />
<br />
'Do nothing as the input is valid<br />
Case 45 'minus sign<br />
If AllowNegativeValues Then<br />
'If negative values as permitted then...<br />
If Me.Text.Contains("-") Then<br />
'if we already have a minus sign then throw away this minus sign keystroke just pressed<br />
KeyAscii = 0<br />
End If<br />
<br />
If Me.SelectionStart <> 0 Then<br />
'If the insertion point is not sitting at zero (the beginning of the field),<br />
'throw away the minus sign<br />
KeyAscii = 0<br />
End If<br />
Else<br />
KeyAscii = 0<br />
End If<br />
<br />
Case 46 'decimal point<br />
If AllowDecimalPoint Then<br />
If Me.Text.Contains(".") Then<br />
KeyAscii = 0<br />
End If<br />
Else<br />
KeyAscii = 0<br />
End If<br />
<br />
Case Else<br />
'Any other input is invalid so throw it away<br />
KeyAscii = 0<br />
End Select<br />
<br />
If KeyAscii = 0 Then<br />
Beep()<br />
e.Handled = True<br />
Else<br />
e.Handled = False<br />
End If<br />
<br />
End Sub
The snippet above utilises additional properties I have added to my NumericBox, should as AllowNegativeValues and AllowDecimalPoints both of which are Boolean values
Steve Jowett
-------------------------
Sometimes a man who deserves to be looked down upon because he is a fool, is only despised only because he is an 'I.T. Consultant'
|
|
|
|
|
This works unless the user is allowed to paste into the textbox...
If you're rolling your own numeric textbox, then you have to look at the TextChanged event and validate the contents on every change.
Everyone's first thought is to handle the keys pressed, but you'd be suprised how many users paste into textbox's.
David Anton
http://www.tangiblesoftwaresolutions.com
C++ to C# Converter
C++ to VB Converter
C++ to Java Converter
Instant C#: VB to C# converter
Instant VB: C# to VB converter
Instant C++ VB Edition: VB to C++/CLI converter
Instant C++ C# Edition: C# to C++/CLI converter
|
|
|
|
|
|
Hii ,
Here i am creating all controls at runtime i.e, (Textbox,Chkbox,Rb,GridView,Picturebox,Label...... ,RectangleShape,OvalShape,LineShape).
How to implement Cut ,Copy ,Paste,Delete for all these types of controls ....
1) Here i am using ContextMenuStrip .--------------Using this how to delete , in that i am having Properties ,Cut,Copy,Paste,Delete,SendToBack,BringToFront
If i select, delete or copy or paste or cut it has to do the respective operations for the type of control listed above.How to identify the control.
i am getting the sender here as "ToolStripMenuItem" , How can i get the particular Control .
How can i identify the Control here ?????
2) if i press the delete button on keyboard , i am doing this
Ctr_KeyDown -- event handler <br />
<br />
If e.KeyCode = Keys.Delete Then<br />
<br />
If TypeOf sender Is TextBox Then<br />
<br />
Canvas.Controls.Remove(Sender) ........
But i am not able to delete the Picturebox ,& shape controls(due to it accepts only Control )
Thanks
For1206
|
|
|
|
|
I have this code for sending email but it gives me an error...plz help
my code:
Dim email As New System.Net.Mail.MailMessage
Dim credentials As New System.Net.NetworkCredential
Dim f As New MailAddress(from)
Dim t As New MailAddress(receipient)
Dim smtp As New SmtpClient
With credentials
.Domain = "www.gmail.com"
.UserName = "prubyholl"
.Password = "mypassword"
End With
With email
.From = f
.To.Add(t)
.Subject = subject
.Body = body
End With
With smtp
.Host = server 'contains the smtp server correctly
.Port = "587"
.EnableSsl = True
.Credentials = credentials
.Send(email)
End With
the error:
The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.5.1 Authentication Required h19sm6066249wxd.28
Plz help
phatkin
|
|
|
|
|
Dim smtpClient As SmtpClient
Dim message As MailMessage
Dim fromAddress As MailAddress
smtpClient = New SmtpClient()
message = New MailMessage()
fromAddress = New MailAddress("From Address") ' Mention your from address
smtpClient.Host = "Your SMTP Host"
' Give your SMTP host address as mail.company.com, specify the host name or ipaddress of your server
'Default port will be 25
smtpClient.Port = 25
'From address will be given as a MailAddress Object
message.From = fromAddress
' To address collection of MailAddress
message.To.Add("To Address") ' Give your To Address
message.Subject = "Subject"
' Message body content
message.IsBodyHtml = True
message.Body = "Body Part"
' Send SMTP mail
smtpClient.Send(message)
Hi check this code, i used this long back. So if there are any small errors fix it. But it will work.
I think you have forgot to mention the SMTP Host, I mean Host IP address at the place of .Host = Server
Jats
|
|
|
|
|
i tried ur code but seems to have just a lil problem
anyway i was thinking about the using smtp server string address instead of the ip address? is that wrong?
also i learnt soemthing about credentials
so is my credentials also wrong?
Plz help?
Thanks
phatkin
|
|
|
|
|
You should always use a domain address ie smtp.myemailserver.com rather than the IP Address unless you are forced to you the IP Address.
There are several examples to how to send emails from VB.NET on CodeProject as this is a question asked an answered many time. You should search these out.
Steve Jowett
-------------------------
Sometimes a man who deserves to be looked down upon because he is a fool, is only despised only because he is an 'I.T. Consultant'
|
|
|
|
|
Hi you have to use smtp.YourSmtpServer.com or .org or which ever is the type.
The address has to mail server address. IP is used very rarely, until unless it is asked for.
Its better to go with the above format i had mentioned (smtp.YourSmtpServer.com).
And even take a search in the forum you will find many examples. Try to analyze the code.
Jats
|
|
|
|
|
I tried using copyfile:
My.Computer.FileSystem.CopyFile(TempPath & filename, StartPath & "\Saved imgs")
but I dont think your allowed to copy from the Temporary Internet Files folder.
Is there any way to save an image from a web page?
Ive thought of three other options but havent been able to get any to work.
1. right click on the image from a WebBrowser to activate the menu? (but images are not htmlElements so you cant use htmlelement.InvokeMember("Click") )
2.Opening the image from a different container/application and saving it to a different directory. (pictureboxes arent allow to access the temporary internet files folder either)
3.Im able to get the URL to the image, can I use this to save the image?
Any ideas?
|
|
|
|
|
Hi all, i have a problem with job scheduling...
I have a ssis package (2 actually)... i need this package to loop over and over again. (this package monitors a folder on a server and waits for a specifiec file type before reading the values in that file into the database and formatting the data and ultimately creates a new file with the same name, replacing the old file). Currently i have 2 packages doing this one job... each package ends with a "Execute Package" task. So, Package A would execute Package B at the end and then Package B would execute Package A at the end. (this puts my Job in an infanite loop, which is what i wanted...) BUT now i noticed that each time the package executes the next package, the "Running Packages" (as seen when you log onto the "Integration Services" on the server in SQL Server 2005) gets one extra package... (i presume this takes up memory). So this can't be good in the long run.
So what i need help with is the following...
1. I need to put both packages into one package. (i know how to do this.)
2. I need to schedule the package in a job to execute every time the job ends successfully.
I need help with the number 2 please... i dont know how to schedule a job to execute as soon as it successfully ended???
Thank you in advance. (any suggestions will be greatly appreciated.)
"Many of life's failures are people who did not realize how close they were to success when they gave up." Thomas A. Edison
|
|
|
|
|
Is this a question about VB or SQL Server 2005?
Steve Jowett
-------------------------
Sometimes a man who deserves to be looked down upon because he is a fool, is only despised only because he is an 'I.T. Consultant'
|
|
|
|
|
So sorry, i thought i clicked on the sql link...
my appologies...
"Many of life's failures are people who did not realize how close they were to success when they gave up." Thomas A. Edison
|
|
|
|
|
HI
I AM IN POSITION TO FIND PRESENCE OF UNIQUE STRING(ALL ARE FILE NAMES) FOR THAT I AM PLANNING TO USE REGEX SEARCHING COULD. ANY SAY WHICH WILL BE BETTER ONE REGEX OR ARRAYLIST.BINARYSEARCH OTHERWISE ANY OTHER GOOD SERCHING TECHNIQUES .COUNT OF NAMES WILL BE MORE THAN 15K SO COULD ANY ONE SUGGEST WHICH ONE I SHOULD USE.
with regards
Balagurunathan.B
|
|
|
|
|
1. Stop SCREAMING!
2. Rewrite your question and try to separate it into proper sentences.
These two steps will give you a better chance of someone reading the question and actually concentrating on the issue instead of how hard it is to try to read what you have written.
Experience is the sum of all the mistakes you have done.
|
|
|
|
|
hello everybody!
I want to create menu in my project as auto hide window just like
properties window in visual studio.NET.If someone has idea about this , pls share ur idea.
phoo pwint
flowerppk
|
|
|
|
|
You can probably use third party control like DotNetMagic
|
|
|
|
|
I'm currently creating an application for our helpdesk to assist in trouble shooting. I work for a Native American tribe and we have field offices spread out in the Southeast corner of Oklahoma, and we get a lot of calls from people who are not real computer savvy. The application will be installed on the user's computers that are outside of our domain (we have set up a policy in our AD to place a background on the domain user's computer to display their network information). Currently I have the application displaying the user name, the ip, and network connectivity, but I would like to have it be able to release and renew the ip address since that is sometimes the most difficult thing to walk people through over the phone.
Is there any simple way to do this?
|
|
|
|
|
Hi Dave,
I dare not say that this is the best way, but it may work for you:
<br />
Public Function ExecuteDosCommand(ByVal cmd As String)<br />
'activate dos<br />
AppActivate("C:\WINNT\system32\cmd.exe")<br />
'send the command (for example: "ipconfig /release")<br />
SendKeys.Send(cmd & vbCrLf)<br />
'Flush the buffer, just for safety<br />
SendKeys.Flush()<br />
cmd = ""<br />
End Function<br />
The path to cmd.exe may not be correct, but I am sure you'll figure it out.
Hope it helps,
Johan
My advice is free, and you may get what you paid for.
|
|
|
|
|
How about :-
Public Sub RenewIP()<br />
process.start("ipconfig /renew")<br />
<br />
End Sub
Steve Jowett
-------------------------
Sometimes a man who deserves to be looked down upon because he is a fool, is only despised only because he is an 'I.T. Consultant'
|
|
|
|
|
So I was right not to dare claim that my way was the best
I didn't know about this one. However this function asks for a file name. In your example you pass the dos command straight to the function though. Will it not throw a "file not found" exception?
My advice is free, and you may get what you paid for.
|
|
|
|
|
Yes you are right, so replace the Process.Start with :-
Shell("IPConfig /renew", AppWinStyle.NormalFocus, True)
For belt and braces you could try :-
Private Sub RenewIP()<br />
Dim sCommand As String = System.Environment.SystemDirectory & "\IPConfig.exe /renew"<br />
Shell(sCommand, AppWinStyle.NormalFocus, True)<br />
End Sub
Steve Jowett
-------------------------
Sometimes a man who deserves to be looked down upon because he is a fool, is only despised only because he is an 'I.T. Consultant'
|
|
|
|
|
So Dave, instead of my answer to your problem, I advise you to use the one Steve suggested in his answers to my reply.
My advice is free, and you may get what you paid for.
|
|
|
|
|
First of all, thanks for all the help. Now, I showed the completed app to the rest of the guys in IT and we came up with the idea of showing the subnet mask and the default gateway (Maybe the MAC, but we really haven't decided). I've found some code calling a WMI, but I can't seem to get it to work right.
Any suggestions?
|
|
|
|
|
Aptiva Dave wrote: but I would like to have it be able to release and renew the ip address since that is sometimes the most difficult thing to walk people through over the phone.
Is there any simple way to do this?
Very easy. You don't even need to write any code. Just create a batch file and use this:
%systemroot%\system32\ipconfig /release
%systemroot%\system32\ipconfig /renew
Call the file iprenew.cmd and drop the file in the C:\Windows folder. When the user needs to renew their IP address, just tell them to click on Start, then Run, and type iprenew and hit Enter.
|
|
|
|