|
try...
m_ContractInfo.Strike = double.parse(txtstrike.text)
-jim
|
|
|
|
|
Thanks Jim, I actually did try that but I still got an error of "Input strin was not in a correct format"
|
|
|
|
|
what's the value of textStrike.Text when you click the button?
-jim
|
|
|
|
|
its a double,
the complete code is:
Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click
m_OrderID = 0
'Use try catch block to catch error in conversion
Try
m_ContractInfo.Symbol = txtSymbol.Text
m_ContractInfo.SecurityType = txtType.Text
m_ContractInfo.Expiry = txtExpiry.Text
m_ContractInfo.Strike = Convert.ToDouble(txtStrike.Text)
Catch exp As System.FormatException
MessageBox.Show(exp.ToString)
MessageBox.Show(exp.Message)
End Try
m_ContractInfo.Right = txtRight.Text
m_ContractInfo.Multiplier = txtMultiplier.Text
m_ContractInfo.Exchange = txtExchange.Text
m_ContractInfo.PrimaryExchange = txtPrimaryExchange.Text
m_ContractInfo.Currency = txtCurrency.Text
m_ContractInfo.LocalSymbol = txtLocalSymbol.Text
m_OK = True
Me.Close()
' Hide()
End Sub
|
|
|
|
|
then your string plainly cannot be converted to a double. You should pass it through a regex first to make sure the conversion is valid. Better yet, create a textbox that only accepts doubles as valid input.
Christian
I have several lifelong friends that are New Yorkers but I have always gravitated toward the weirdo's. - Richard Stringer
|
|
|
|
|
I have been trying find tutorials and sample projects that use vb.net to access and manipulated sql 2000 databases but no luck so far. I trying to see how the insert,delet,update,etc. methods are implemented through vb.net
Any help will be appreciated
|
|
|
|
|
|
thx.....never found these sites on google
|
|
|
|
|
I have a very simple ownder drawn combo box in my windows form application. All i'm doing different is making the first items headers with bold and underlined font. I got everything to work great, except for the focus rectangle. at the end of my code i have the e.drawFocusRectangle() method.. it will select the items, but the item font stays black when selected. if you'll notice on a normal combo box (not owner drawn), the items turn white when selected. Can anyone tell me how to do this? Thanks!
p.s. here's my code for the combobox
Private Sub initializeComboBox()<br />
<br />
Me.ComboBox3 = New ComboBox<br />
Me.ComboBox3.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed<br />
Me.ComboBox3.Location = New System.Drawing.Point(10, 20)<br />
Me.ComboBox3.Name = "ComboBox3"<br />
Me.ComboBox3.Size = New System.Drawing.Size(136, 21)<br />
Me.ComboBox3.DropDownWidth = 250<br />
Me.ComboBox3.TabIndex = 0<br />
Me.ComboBox3.DropDownStyle = ComboBoxStyle.DropDown<br />
Me.ComboBox3.Location = New System.Drawing.Point(120, 112)<br />
Me.ComboBox3.Text = "Select Control"<br />
selectControls = New String() {"Serial Status", "10303 test", "bloop!"}<br />
ComboBox3.DataSource = selectControls<br />
Me.Controls.Add(Me.ComboBox3)<br />
End Sub<br />
<br />
Protected Sub ComboBox3_DrawItem(ByVal sender As Object, _<br />
ByVal e As System.Windows.Forms.DrawItemEventArgs) _<br />
Handles ComboBox3.DrawItem<br />
<br />
Dim size As Single<br />
Dim myFont As System.Drawing.Font<br />
Dim family As FontFamily<br />
<br />
Dim itemColor As New System.Drawing.Color<br />
Select Case e.Index<br />
Case 0<br />
size = 8.25<br />
itemColor = System.Drawing.Color.White<br />
family = FontFamily.GenericSansSerif<br />
myFont = New Font(family, size, FontStyle.Bold)<br />
<br />
Case 1<br />
size = 8.25<br />
itemColor = System.Drawing.Color.White<br />
family = FontFamily.GenericSansSerif<br />
myFont = New Font(family, size, FontStyle.Regular)<br />
Case 2<br />
size = 8.25<br />
itemColor = System.Drawing.Color.Blue<br />
family = FontFamily.GenericSansSerif<br />
myFont = New Font(family, size, FontStyle.Regular)<br />
End Select<br />
<br />
e.DrawBackground()<br />
<br />
<br />
e.Graphics.DrawString(selectControls(e.Index), myFont, System.Drawing.Brushes.Black, _<br />
New System.Drawing.PointF(2, e.Bounds.Top))<br />
<br />
<br />
e.DrawFocusRectangle()<br />
End Sub
|
|
|
|
|
I am using USB Card Reader to obtain health card validations string, How can I get the string into a string variable. I don't want it to be displayed into textbox, before showing it to the labels, I want to decode it. I am using this for ASP.Net web forms, Anyone have any suggestions, how to do it?
Thanks in advance
|
|
|
|
|
Your not reading anything from USB. Your reading it from the device itself. USB is just a transport mechanism for the data. Your best bet is to see if the manufacturer puts out a SDK for the card reader. There is no generic method for grabbing data off of any device, not matter what bus it's connected to.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
I have created a TreeView (Treeview1) that contains 4 levels. I am trying to create a sub so that when the user clicks the button on the form, The code will cycle through the items that are checked and print their tag properties to a textbox. The For Each statement works fine, but I am having trouble cycling through the children and their children etc. I am still working on the first level of children because it should be the same principle for the rest of the children. Here is what I have so far, although it only prints the tags for the nodes listed in the first For Each statement.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCreate.Click
Dim node As TreeNode
For Each node In TreeView1.Nodes
If node.Checked = True Then
txtNote.Text = txtNote.Text & node.Tag & vbCrLf
Dim myNodeCollection As TreeNodeCollection = TreeView1.Nodes(node.Index).Nodes
Dim myCount As Integer = myNodeCollection.Count
Dim child1 As Integer
For child1 = 0 To myCount - 1
If TreeView1.Nodes(node.Index).Nodes(child1).Checked = True Then
txtNote.Text = txtNote.Text & TreeView1.Nodes(node.Index).Nodes(child1).Tag & " "
End If
Next
End If
Next node
End Sub
Any assistance would be appreciated.
Thanks.
Marc
|
|
|
|
|
Don't put this code in the button click event. Instead, create a function that takes a TreeNodeCollection as a parameter. This function will enumerate the Nodes in this collection and do your txtNote.Text work, just like you already have. At the same time, you can check each Node to see if it has any children (currentNode.Nodes.Count > 0). If it has children, then the function can call itself, recursively, with a reference to the current node's Nodes collection.
Private Sub Button1_Click(...)
ProcessNodesList( TreeView1.Nodes )
End Sub
.
. ' Warning! Untested code ahead!
.
Private Sub ProcessNodesList(ByRef nodeList As TreeNodeCollection)
Dim currentNode As TreeNode
For Each currentNode In nodeList
If currentNode.Checked = True Then
txtNote.Text += currentNode.Tag & " "
End If
If currentNode.Nodes.Count > 0 Then
ProcessNodesList( currentNode.Nodes )
End If
Next
End Sub
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Actually was just testing a solution that now works, but going to try to understand the recursive thing. Here is what I have for now that works for the first child. Recursive sounds like less code and better performance, but I am still new to some of this.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCreate.Click
Dim node As TreeNode
For Each node In TreeView1.Nodes
If node.Checked = True Then
txtNote.Text = txtNote.Text & node.Tag & vbCrLf
Dim child1 As TreeNode
For Each child1 In node.Nodes
If child1.Checked = True Then
txtNote.Text = txtNote.Text & child1.Tag & vbCrLf
End If
Next child1
End If
Next node
Addition.................
I tried your code and it works great without having to specify how many levels are present. I may have to use some sort of combination of yours adnd mine, because the first level needs to have a little different formatting like 2 vbcrlf after each of these nodes.
Thanks again for the help
End Sub
I assume the recursive function is better?
Thnks for the help
Marc
|
|
|
|
|
Is there any easy way to just have your function skip the first two levels? I would like to call the function only for the 2nd or 3rd Children and not the root or 1st child. This way I can ensure the formatting I need for the forst two levels. For instance I want one vbcrlf to follow the root, and one to precede and two to follow the first child so the resulting text would look like:
root
Child1
Child2 Child2 Child2
Child1
using the function will format ALL nodes the same. Any suggestions?
Thanks again for the help
Marc
|
|
|
|
|
Then add a second parameter to the function, telling it the level that it's on. Then modify the code that performs the formatting
Private Sub Button1_Click(...)
' Passing in 0 denotes the root of the tree.
' 1 would represent the 1st level of children, or children of the root.
ProcessNodesList( TreeView1.Nodes, 0 )
End Sub
.
. ' Warning! Untested code ahead!
.
Private Sub ProcessNodesList(ByRef nodeList As TreeNodeCollection, ByVal level As Integer)
Dim currentNode As TreeNode
For Each currentNode In nodeList
If currentNode.Checked = True Then
Select Case level
Case 0
' Put whatever formatting you want for level 0
Case 1
' Put whatever formatting you want for level 1
Case 2 To 3
' Put whatever formatting you want for levels 2 and 3
Case 4
' I hop eyou get the idea by now...
End Select
End If
If currentNode.Nodes.Count > 0 Then
' There are children present. Call myself with the new set
' of Nodes and tell myself that this is the next level down
ProcessNodesList( currentNode.Nodes, level + 1 )
End If
Next
End Sub
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Thank you very much. Your suggestion worked perfectly.
Thanks again.
Marc
|
|
|
|
|
I am creating a custom control in VB.NET that inherits from System.Windows.Froms.ComboBox.
I am doing this so I can draw over the combo box to change it's appearance. To do the drawing I am overriding WndProc and capture the WM_PAINT message.
I can draw the background with no problems, but the problem is with the selected text, as the base class draws an edit box on top for this. When I want to set the enable property to false, the text and background is always grey. I need to be able to change the colour of this when disabled.
My other approach to this is to set a back color and not use the enabled property, but can't seem to override the OnClick event and cancel the event if another property is set to disable the control.
Any advice on this matter would be greatly appreciated.
Thanks
J
|
|
|
|
|
I would suggest you go to this project and use it. It is a great combobox and is easy to work with. I also think it will let you do all of the things you are asking about.
http://www.codeproject.com/vb/net/MultiColumnFlatCombo.asp
It also has a 3D setting so don't let the title fool you.
|
|
|
|
|
Hi!
How can I make buttoncolumns in windows application datagrid?
harald
|
|
|
|
|
hi harald,
have a look at this article on msdn. it should get you up to speed on how to place just about anything you might need in a datagrid column.
-jim
|
|
|
|
|
I have produced a grid from 2 tables that has been formated and displays about 100 rows of information (Each row has 30 cols). I would like to be able to print the grid. Has anyone any ideas how to do this or to point me in the right direction.
Thanks in advance.
Peter
|
|
|
|
|
This[^] little example on MSDN might get you started.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Mny tks for the help - will try it.
|
|
|
|
|
Try this
Dim ActivePageNumber As Short = 1<br />
Dim pageCount As Short = 0<br />
Dim ItemCountOnPerPage As Integer = 30<br />
Dim dtSource As DataTable<br />
Dim index As Short<br />
Private Sub btnPrintDataGrid_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrintDataGrid.Click<br />
ActivePageNumber = 1<br />
pageCount = Math.Ceiling(dtSource.Rows.Count / ItemCountOnPerPage)<br />
PrintDocument1.Print()<br />
End Sub<br />
<br />
<br />
Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage<br />
If Not ActivePageNumber > pageCount Then<br />
PrintDataTable(e.Graphics)<br />
ActivePageNumber += 1<br />
e.HasMorePages = True<br />
Else<br />
e.HasMorePages = False<br />
End If<br />
End Sub<br />
<br />
Public Sub PrintDataTable(ByVal e As Graphics)<br />
Dim x, y As Short<br />
Dim fArial As New Font("Arial", 8)<br />
x = 20<br />
y = 20<br />
Dim cci As Short = index<br />
Do While (cci <> ItemCountOnPerPage Or index <> dtSource.Rows.Count - 1)<br />
For columnIndex As Short = 0 To dtSource.Columns.Count - 1<br />
e.DrawString(dtSource.Rows(index)(columnIndex), fArial, New SolidBrush(Color.Black), x, y)<br />
x += 30 ' set this to column width<br />
Next<br />
y += fArial.Height<br />
cci += 1<br />
index += 1<br />
Loop<br />
End Sub
|
|
|
|