|
thanks for an excellent method, works great, although the problem was in dataset. it was kind of weird, what happened was a database connection seemed to be in a stage between being fully opened and fully closed so dataset.clear was giving me an (connection not opened) error but textbox.clear woudln't clear the text (which was bound to the dataset)
|
|
|
|
|
sorry.. forgot to sign in
|
|
|
|
|
I am trying to resolve a problem with keyboard handling for an Windows Forms application that consists of a number of datagrids. Adding and deleting records is allowed only with button actions. The datagrids contain combobox columns. Column navigation is by TAB/Shift-TAB and RIGHT/LEFT Arrows. I am trying to achieve keyboard control for the combobox columns as follows:
Press ENTER for first time in the combobox column drops the list (droppeddown=true), UP/DOWN Arrows navigates the list, press ENTER again closes the drop (droppeddown=false) and selects the value. I am able to get the combobox to drop on the first ENTER press, navigate UP/DOWN the list, but cannot catch the second ENTER to close the dropdown. The only way to exit the combo is TAB or ARROW.
I am using the KeyUp event for the ComboBoxColumn and some message code for the ComboBox. There seems to be some sort of conflict here that I cannot figure out. Any help would be appreciated.
Here is my code that I am using in both the ComboBoxColumn and in the extended ComboBox:
ComboBox Code:
Public Class NoKeyUpCombo <br />
Inherits CompletionCombo <br />
Private Const WM_KEYUP As Integer = 257 <br />
<br />
Protected Overloads Overrides Function ProcessKeyMessage(ByRef m As Message) As Boolean <br />
Dim key As Keys = CType(CType(m.WParam.ToInt32, Integer), Keys) <br />
<br />
Select Case key <br />
Case Keys.Tab <br />
Return True <br />
Case Keys.Up, Keys.Down <br />
Return False <br />
Case Else <br />
Return MyBase.ProcessKeyMessage(m) <br />
End Select <br />
End Function <br />
<br />
Protected Overloads Overrides Function IsInputKey(ByVal key As Keys) As Boolean <br />
Select Case key <br />
Case Keys.Up, Keys.Down <br />
Return True <br />
End Select <br />
Return MyBase.IsInputKey(key) <br />
End Function
ComboBoxColumn Code:
Private _ColumnComboBox As NoKeyUpCombo<br />
<br />
AddHandler _ColumnComboBox.KeyUp, AddressOf ComboBoxKeyUp <br />
AddHandler _ColumnComboBox.KeyDown, AddressOf ComboBoxKeyDown <br />
<br />
<br />
Private Sub ComboBoxKeyDown(ByVal sender As Object, ByVal e As KeyEventArgs) <br />
If e.KeyCode = Keys.Enter Or e.KeyCode = Keys.Execute Or e.KeyCode = Keys.Return Then <br />
Dim cbx As NoKeyUpCombo = CType(sender, NoKeyUpCombo) <br />
cbx.SelectedIndex = _SelectedIndex <br />
Debug.WriteLine(_ColumnComboBox.SelectedIndex.ToString & "KeyDown-ENTER:" & _ColumnComboBox.Text) <br />
e.Handled = False <br />
End If <br />
End Sub <br />
<br />
Private Sub ComboBoxKeyUp(ByVal sender As Object, ByVal e As KeyEventArgs) <br />
Dim i As Integer <br />
If Not _ColumnComboBox.DroppedDown Then <br />
If e.KeyCode = Keys.Enter Or e.KeyCode = Keys.Execute Or e.KeyCode = Keys.Return Then <br />
_ColumnComboBox.DroppedDown = True <br />
KeyStrokeProcessed = True <br />
_ColumnComboBox.Invalidate() <br />
_ColumnComboBox.Update() <br />
End If <br />
Else <br />
Select Case e.KeyCode <br />
Case Keys.Down <br />
i = _ColumnComboBox.SelectedIndex <br />
If _ColumnComboBox.Items.Count > i Then <br />
_SelectedIndex = i + 1 <br />
_ColumnComboBox.SelectedIndex = _SelectedIndex <br />
_ColumnComboBox.Invalidate() <br />
_ColumnComboBox.Update() <br />
e.Handled = False <br />
Debug.WriteLine(_ColumnComboBox.SelectedIndex.ToString & "-Down:" & _ColumnComboBox.Text) <br />
End If <br />
Case Keys.Up <br />
i = _ColumnComboBox.SelectedIndex <br />
If i > 0 Then <br />
_SelectedIndex = i - 1 <br />
_ColumnComboBox.SelectedIndex = _SelectedIndex <br />
_ColumnComboBox.Invalidate() <br />
_ColumnComboBox.Update() <br />
e.Handled = False <br />
Debug.WriteLine(_ColumnComboBox.SelectedIndex.ToString & "-Up:" & _ColumnComboBox.Text) <br />
End If <br />
<br />
Case Keys.Enter, Keys.Execute, Keys.Return <br />
If _ColumnComboBox.DroppedDown Then <br />
_ColumnComboBox.SelectedIndex = _SelectedIndex <br />
Debug.WriteLine(_SelectedIndex.ToString & ":*" & _ColumnComboBox.Text) <br />
_ColumnComboBox.DroppedDown = False <br />
KeyStrokeProcessed = False <br />
_ColumnComboBox.Invalidate() <br />
_ColumnComboBox.Update() <br />
'e.Handled = True <br />
Debug.WriteLine(_ColumnComboBox.SelectedIndex.ToString & "ENTER Press 2-New Value:" & _ColumnComboBox.Text) <br />
End If <br />
End Select <br />
'Dim cbx As NoKeyUpCombo = CType(sender, NoKeyUpCombo) <br />
'cbx.SelectedIndex = _SelectedIndex <br />
' Debug.WriteLine(_ColumnComboBox.SelectedIndex.ToString & "-dgcKeyPress:" & _ColumnComboBox.Text) <br />
Return <br />
End If <br />
End Sub
|
|
|
|
|
Hi guys & gals,
I would like to know how to select a item from the listview to a new form.
I have 2 items listed in the listview1.
On clicking the first item (row), I want to open up a new form called Form1
on clicking the second Item (row), I want to open another new form called Form2.
Tnx a bunch in advance.
Paps
|
|
|
|
|
Try this:
Private Sub ListView1_Click(blablabla... )
If ListView1.ListItems(1).Selected = True Then
Form1.Show
Else
Form2.Show
End If
End Sub
Ok, hope you got it.
Kindly, Pablo.
|
|
|
|
|
Hey,
Is there a way to check if an application is running in the Task Manager? and if it is kill it before starting my own custom process?
I have the following function which sends a file to a printer but it opens up the application (e.g. MS Word) and sends the print command before closing it again.
Private Sub SendFileToPrinter()
Dim startinfo As New ProcessStartInfo
startinfo.FileName = strFullFilePath
startinfo.Verb = "print"
startinfo.WindowStyle = ProcessWindowStyle.Hidden
Process.Start(startinfo)
End Sub
The problem is that sometimes it doesnt exit the application fully and it is still running in the background.
Is the a way to get the location of the application .exe file that is running from the MIME type of the file, and then close it?
thanks for your help
Chris
|
|
|
|
|
This is what I've done. I hope it works to you.
Private Sub KillProcess()
procesos = Process.GetProcesses
Dim p As Process
For Each p In procesos
If (p.ToString.LastIndexOf(nameOfProcessToKill) > 0) Then
p.kill()
Exit Sub
End If
Next
End Sub
E-mail me back would you?
Regards, Carlos
F chile
|
|
|
|
|
Hi all,
I have a small problem regarding uploading a file using the Inet control and Http.
What i am trying to do is build a component that allows you to upload multiple files at the same time. What I have is a list box that you can drag and drop files into, i then want the user to click the process button and it will go and transfer all the files one by one with a progress bar that shows the user what is happening.
For some reason, god knows why the men above wish this to be done over HTTP and not FTP, (i think this would be too simple for them).
Anyway, as i have a component that will contain the file names to upload in a list box basically outside of the html form i cannot use a HTML File Input box and post the form using ENCTYPE=multipart/form data.
This makes it hard as there seems to be little information on this without using the this method and the advice i get is use FTP...great, can't.
Does anybody know how to simulate the ENCTYPE=multipart/formdata Http post or know how to transfer a file to a web server using http (using no HTML forms) and just an ASP Page to receive and save the file?
PLEASE HELP PLEASE HELP, URGENT,
Any suggestions/advice greatly appreciated,
Thanks Ever So Much
Purple
"If i was king cigarettes would be free."
|
|
|
|
|
How can i convert a 5 digit number to date e.g. 05120 to 4/30/2005
|
|
|
|
|
Since I don't know of any 5 digit numbers that represents a date, what does this number represent?
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
it actually a julian date format 10204120 all i need is to be able to convert last three digits 325 into months and day format in this case it's 04/31
|
|
|
|
|
Hey
this should do it
Dim JulDate As Long
Dim TempDate As String
Dim FinalDate As Date
JulDate = 100015 'Your Julian Date
TempDate = "01/01/"
If JulDate > 99999 Then
TempDate = TempDate + Mid(LTrim(Str(JulDate)), 2, 2)
Else
TempDate = TempDate + Mid(LTrim(Str(JulDate)), 2)
End If
FinalDate = DateAdd("d", Val(Mid(Str(JulDate) - 1, 3)), TempDate)
then use
Debug.WriteLine(FinalDate, Format(FinalDate, "mm/dd/yyyy")) or
MsgBox(FinalDate) to output it to screen
so...
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim JulDate As Long
Dim TempDate As String
Dim FinalDate As Date
JulDate = 100015 'Your Julian Date
TempDate = "01/01/"
If JulDate > 99999 Then
TempDate = TempDate + Mid(LTrim(Str(JulDate)), 2, 2)
Else
TempDate = TempDate + Mid(LTrim(Str(JulDate)), 2)
End If
FinalDate = DateAdd("d", Val(Mid(Str(JulDate) - 1, 3)), TempDate)
MsgBox(FinalDate)
End Sub
should do it for you.
Hope this helps
Chris
|
|
|
|
|
"Julian" dates are a representation of the number of days since a base date. In Excel for Windows, this would be Jan 1, 1900 (for the Mac, it would be Jan 1, 1904). These numbers are really just serial numbers, but what date this number represents is entirely up to the application/system that issued it.
The .NET Framework uses a structure that can represent any date/time from midnight on Jan 1, 0001 to Midnight Dec 31, 9999, measured in ticks (100 milliseconds). You can use this structure to try and parse your date/time number into a .NET Framework date/time, then get the month and day from that. Look into DateTime.FromOADate (OLE Automation dates), and DateTime.FromFileTime (filesystem date/time format).
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
any one know what is the best way in geting rearding from a joystick uisng VB.Net?
|
|
|
|
|
Use the DirectInput portion of the DirectX SDK.
You might want to look into the souce code in this[^] article for an example. It's in C#, but is easily converted to Visual Basic.NET.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
I need help finishing the code t fill the labels on my form with the search results. this i what i have (Not even sure this is gonna work as well )
<br />
Dim Cnxn As New ADODB.Connection<br />
Dim cmdChange As ADODB.Command<br />
'Connection String<br />
Dim strCnxn As String<br />
'SQL Query<br />
Dim strSQL As String<br />
'search criteria<br />
Dim strSearchLName, strSearchFName As String<br />
Dim Now As DateTime<br />
Dim UserPassID As Integer<br />
UserPassID = Val(lblPassID.Text)<br />
strSearchLName = txtLName.Text<br />
strSearchFName = txtFName.Text<br />
' define strSQL to insert the fields<br />
strSQL = "SELECT * FROM Contacts WHERE (LName) = '" & strSearchLName & "' AND (FName) = '" & strSearchFName & "'"<br />
strCnxn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\RMSC LOGIN\MYDataBase.mdb;Persist Security Info=False"<br />
Cnxn = New ADODB.Connection<br />
Cnxn.Open(strCnxn)<br />
cmdChange = New ADODB.Command ' Create command object<br />
cmdChange.ActiveConnection = Cnxn<br />
cmdChange.CommandText = strSQL<br />
cmdChange.Execute() ' execute the SQL command<br />
' Fill the Labels with the Search results <br />
This is where i Fail !!!!! <br />
Cnxn.Close() ' Close everything<br />
Cnxn = Nothing<br />
Any Help would be appreciated
Thank you
the detail!!!!
form name Contactinfo
labels on theForm as follows....
lblFName
lblLName
lblAddress
lblCity
lblState
lblZip
lblPhone
lblEmail
lblPassID
if possible this is gonna run in button Click event
Thank You Scholars!!!
Help is great only if yu ask correctly
|
|
|
|
|
I need to Highlight a Row in a datagrid based on the user input. For example when someone adds an item to their shopping cart...I would like for the row in the cart to be highlighted. So this way they know that this item was added to their shopping cart.
So far I've found how to change the color of a row...
dgrdSelect.items.item(0).backcolor = System.Drawing.Color.yellow
...but I need to find the row based on the product number.
For example I've tried many variations like:
dgrdselect.items.item(dgrdselect.items.itemindex.findbyvalue("401")).backcolor = System.Drawing.Color.Yellow
But that didn't seem to work...
The control that I would like to findbyvalue is "Product_no"
So basically highlight the row where product_no=401.
Anyone ever do this before?
Thanks,
jordan
|
|
|
|
|
I'm planing a project to administrat a Windows Server.
The project is splited into 3 parts.
User Interface: a Windows application where the Users set all their properties to the Windows Server
Server Manager: a Windows service which manages a database with all setting
Server Admin: to execute the commands given by the Server Manager
the Server Manager has a database with permissions for each user or usergroup, it manages the communcation with the User Interface and the Server Admin.
the Server Admin is needed to execute all command, because some Windows Services, espezialy for the pre-COM-time dont work with .NET and need changes to be put into configuration files.
i.e. Apache
all application communicate over .NET Remoting (binary, not over HTTP)
Now it is nesseccary that the User behind the User Interface has only access to methods and objects, which are for him.
i.e. a user User1 has the right to add a VHost Alias into his part of the Apache-Configaration
where as the Admin has the right to read and write all setting incl. the settings of the user.
so the user has no right to see the ApacheConfigarationClass, only the ApacheVHostConfigartionClass
i thought of a mechanismn to control the right to create an object....
a next problem is to distinguish between 10 or more user logged in...
sorry i'm a newbee in remoting *g*
*g* Copyrights © 2004 by Paebbels.net *g*
|
|
|
|
|
I've setup a deployment project which installs 4 merge modules that a crystal report application uses. This functionality works fine.
The next option I wanted to tackle with the same deployment project was to have the setup install the framework if the client does not already have it. I was able to implement this function by using the "Launch Conditions" menu. Unfortunately it will prompt to install the .NET framework and the installation will go fine, but the rest of the setup program does not continue. If you double click on the setup a second time, the install will not prompt for the framework, and will install the merge modules.
I also want to add a MSI application that changes the security on the machine to fully trust the local intranet. I added this to the "Launch Conditions" menu also and the same problem occurs. The application will only perform one function at a time.
How do you put three seperate type of installs all into one setup project?
Any help is appreciated...
Lost in the vast sea of .NET
|
|
|
|
|
Does anyone know if you can have a routine run when your VB.NET or C# application is shut-down from the "Task Manager" or when the user shuts down their machine before they have closed your application? In other words is there a spot in a .NET application that runs no matter how the application is closed? I tried the "Closing" method of the "Default" form which I believe is the last thing to close when a C# or VB.NET appliation ends. My app has a "logon" status flag that I'd like to be able to reset for the user if they forget to close the app the normal way and just exit the machine from the "Start" menu with my application still running.
Thanks,
Scott
|
|
|
|
|
HollenG wrote:
In other words is there a spot in a .NET application that runs no matter how the application is closed?
Almost. Have a look at the Application.ApplicationExit Event[^]. However as far as I know using then Process.Kill Method[^] on your application will abnormally terminate your process instantly without previously raising any events.
Best regards
Dennis
|
|
|
|
|
Dennis,
Thanks. I'll let you know how the "ApplicationExit" event works.
Scott
|
|
|
|
|
Dennis,
Unfortunately "ApplicationExit" doesn't do the trick. Setting an EventHandler to it and having that event call my "log-out" code works if the application is killed through the "End Task" method of the "Task Manager" but it's not called through "End Process" of the "Task Manager" or when the machine shuts down from the "Start" menu. The same affect is also accomplished by putting the call to the "log-out" routine in the "Disposed" event of my "Default" form. I've looked into the "Environment" object but it doesn't have an "EnvironmentExit" event. Just and "Exit" method which obviously closes everything immediately.
Any other ideas?
Thanks for your suggestion. It looked like the way to go.
Scott
|
|
|
|
|
HollenG wrote:
Setting an EventHandler to it and having that event call my "log-out" code works if the application is killed through the "End Task" method of the "Task Manager" but it's not called through "End Process" of the "Task Manager"...
You couldn't expect that. When you click on "End Process" in Task-Manager it calls TerminateProcess [^]. That function forces all threads to terminate (for details on the different ways to end a process see also Terminating a process[^]).
...or when the machine shuts down from the "Start" menu.
I can confirm that however I don't really understand why it behaves like that. Anyway, check out the Form.Closing Event[^]. Maybe that will help you to solve your problem.
Best regards
Dennis
|
|
|
|
|
Now i have your attention!!!
Afternoon All,
I have a serious issue regarding SOAP and the WSDL Reader.....
What i have is a machine with SQLXML Virtual directories which created my WSDL for me.
I access the storedprocedures through a soap call, once upon a time everything worked lovely jubbly.
When service pack 2 politely installed itself it screwwed everything... IIS, SQL Server, anything else it could really.
Now soap doesn't work at all get this error
Run-time error '-2147024809(80070057)
WSDLReader:XML Parser Failed at linenumber 0, lineposition 0, reason is: the system cannot locate the resource specified.
HRESULT=0x1:Incorrect Function
- WSDLReader:Loading of the WSDL file failed
HRESULT=0x80070057: The parameter is incorrect.
-CLient: One of the parameters supplied is invalid.
HRESULT=0x80070057 The parameter is incorrect.
Nuts, nothing has changed in anyway apart from SP2, i have tried re-installing SOAP Toolkit, SQLXML and porting it over to SOAP Toolkit 3.0. But NO!!!!!
The last thing i should mention is i can't access the WSDL file through IE from this machine but from the machine it is on, it's fine, however i can access the other machine for everything else like files, etc.....
Thanks for any assistance as i have been looking into this for days on end and i'm trying to avoid a re-install of windows.
Thanks
Purple
"If i was king cigarettes would be free."
|
|
|
|