|
I take it your looking for the ComputerName, or NETBIOS Name, of the computer?
You can get that from the Environment.MachineName property.
Dim compName As String = Environment.MachineName
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
I would like to know if there is a way to show the progress, using the progressbar, of the dataadapter fill command.
|
|
|
|
|
No. This is because the DataAdatper doesn't fire any events that you could use as progress. On top of that, the DataAdapter can't tell you how many records it is GOING to retrieve before it starts retrieving them. You'd have to do a query to get the number of records your GOING to retrieve, then do multiple queries in blocks of, say, 10 records at a time to fill the dataset and, in between those blocks of records, update the ProgressBar.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Please help me.
I want to build a xp themed numericupdown control, I Inherits NumericUpDown class and use API function to draw board and updown button in Onpaint events.
But it doesn't work,the numericupdown isn't redrawed. And I found if I inherits UserControl it works perfect.
Source Code:(only paint,no other function)
Imports System.Drawing
Imports System.Windows.Forms
Namespace WaterSoft
<toolboxbitmap(gettype(xpnumericupdown))> _
Public Class XPNumericUpDown
'Inherits NumericUpdown doesn't work
Inherits NumericUpDown
'Inherits UserControl it work perfect,someone can test it.
'Inherits UserControl
Private Structure RECT
Public left As Integer
Public top As Integer
Public right As Integer
Public bottom As Integer
End Structure
Private Declare Function IsAppThemed Lib "uxtheme.dll" () As Boolean
Private Declare Function IsThemeActiveXP Lib "uxtheme.dll" Alias "IsThemeActive" () As Boolean
Private Declare Unicode Function OpenThemeData Lib "uxtheme.dll" _
(ByVal hwnd As IntPtr, ByVal pszClassList As String) As IntPtr
Private Declare Unicode Function CloseThemeData Lib "uxtheme.dll" _
(ByVal hTheme As IntPtr) As Integer
Private Declare Unicode Function DrawThemeBackground Lib "uxtheme.dll" _
(ByVal hTheme As IntPtr, ByVal hDC As IntPtr, _
ByVal iPartId As Integer, ByVal iStateId As Integer, _
ByRef pRect As RECT, _
ByRef pClipRect As RECT _
) As Integer
Private rectUp As RECT
Private rectDown As RECT
Public Sub New()
MyBase.New()
' This call is required by the Windows Forms Designer.
'InitializeComponent()
' Add any initialization after the InitializeComponent() call.
Me.SetStyle(ControlStyles.DoubleBuffer _
Or ControlStyles.UserPaint _
Or ControlStyles.AllPaintingInWmPaint _
Or ControlStyles.ResizeRedraw, _
True)
Me.UpdateStyles()
End Sub
#Region "其它函数"
Private Function IsThemedXP() As Boolean
Dim intVer As Integer
intVer = Environment.OSVersion.Version.Major * 10 + Environment.OSVersion.Version.Minor
If intVer >= 51 And IsThemeActiveXP And IsAppThemed Then
Return True
Else
Return False
End If
End Function
#End Region
Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
MyBase.OnPaint(e)
Application.DoEvents()
If IsThemedXP() Then
If True Then 'Me.UpDownAlign = LeftRightAlignment.Left Then
rectUp.left = 1
rectDown.left = 1
Else
rectUp.left = Me.Width - 18
rectDown.left = Me.Width - 18
End If
With rectUp
.top = 1
.right = .left + 17
.bottom = .top + 9
End With
With rectDown
.top = 11
.right = .left + 17
.bottom = .top + 9
End With
Dim br As Brush = New SolidBrush(Me.BackColor)
e.Graphics.FillRectangle(br, e.ClipRectangle)
br.Dispose()
Dim hTheme As IntPtr = IntPtr.Zero
Dim hDC As IntPtr = e.Graphics.GetHdc()
Dim rectPic As RECT
With rectPic
.left = 0
.top = 0
.right = Me.Width
.bottom = Me.Height
End With
Select Case Me.Enabled
Case True
hTheme = OpenThemeData(Me.Handle, "Edit")
DrawThemeBackground(hTheme, hDC, 1, 1, rectPic, rectPic)
CloseThemeData(hTheme)
hTheme = OpenThemeData(Me.Handle, "Spin")
DrawThemeBackground(hTheme, hDC, 1, 1, rectUp, rectUp)
CloseThemeData(hTheme)
hTheme = OpenThemeData(Me.Handle, "Spin")
DrawThemeBackground(hTheme, hDC, 2, 1, rectDown, rectDown)
CloseThemeData(hTheme)
Case False
hTheme = OpenThemeData(Me.Handle, "Edit")
DrawThemeBackground(hTheme, hDC, 1, 4, rectPic, rectPic)
CloseThemeData(hTheme)
hTheme = OpenThemeData(Me.Handle, "Spin")
DrawThemeBackground(hTheme, hDC, 1, 4, rectUp, rectUp)
CloseThemeData(hTheme)
hTheme = OpenThemeData(Me.Handle, "Spin")
DrawThemeBackground(hTheme, hDC, 2, 4, rectDown, rectDown)
CloseThemeData(hTheme)
End Select
e.Graphics.ReleaseHdc(hDC)
End If
End Sub
Protected Overrides Sub OnSizeChanged(ByVal e As System.EventArgs)
MyBase.OnSizeChanged(e)
Me.Refresh()
End Sub
End Class
End Namespace
|
|
|
|
|
The reason your OnPaint method doesn't work, is because the Numeric Up/Down control is derrived from the Windows common control, and Windows handles the drawing of the NUD.
To accomplish what you want, you need to derrive from the Control or UserContrl (which you have), and do the painting yourself.
Aaron Eldreth
TheCollective4.com
My Articles
While much is too strange to be believed,
Nothing is too strange to have happened.
- T. Hardy
|
|
|
|
|
Can you tell me more detail ?
I found in normal form use numericupdown Paint event still cann't draw theme.
|
|
|
|
|
Like I said before, the Numberic Up/Down control is simply a .Net wrapper of the Windows common control.
Basically what this means, Windows draws the control. Not the .Net FCL (Framework Class Library).
Since Windows draws the control, you can't override the OnPaint method to allow theming.
What you would have to do, is inherit from the Control or UserControl. I'm going to assume that you will inherit from the UserControl. What you would do, is place two buttons onto the designer, one for the Up button, the other for Down (You could then theme the buttons, I think). You would then make a property for "Value". Each time the user clicks on one of the buttons, the property "Value" would change accordingly. Then you would use GDI+ to draw the value.
dim g as graphics = me.creategraphics
g.drawstring(val(value), me.font, new brush(me.forecolor), xpos, ypos)
Aaron Eldreth
TheCollective4.com
My Articles
While much is too strange to be believed,
Nothing is too strange to have happened.
- T. Hardy
|
|
|
|
|
|
Sure. Glad to give you some pointers.
Aaron Eldreth
TheCollective4.com
My Articles
While much is too strange to be believed,
Nothing is too strange to have happened.
- T. Hardy
|
|
|
|
|
my web service returns Xmlnode. I want to read attribute name and populate Dropdownlist.
Here is what I have been trying .. nothing seems to work ... any suggestions please
Dim SearchResult As MyWebservie = ar.AsyncState
Dim node As XmlNode = TicketSearchResult.EndGetEventList(ar)
//Dim ReadNode As XmlNode = node.SelectSingleNode("DATA") //
Dim Reader As New XmlNodeReader(ReadNode)
//Dim mydataset As New DataSet
//mydataset.ReadXml(Reader)
//Dim resultNodes As XmlNodeList = node.SelectNodes("raw") //node i need attributs from this
// Dim iCount As Integer = 0
// Dim aNode As XmlNode
// For Each aNode In resultNodes
// DropDwonLis1.Item.Add /// Console.WriteLine("Node {0} value: {1}", ++iCount, aNode.InnerText)
'ToDo: Unsupported operator
'ToDo: ++ operator not supported within expressions
Next aNode
here is what web service returns
- <root>
- <methodinfo>
<channelname>Search
<methodname>MyWebservice
<parameters>?APP_ID=1
<processtime type="milliseconds">453.1366
-
<row thisid="2" thisname="Beach ST=" "="">
<row thisid="1" thisname="Playhouse" st="GA">
<row thisid="3" thisname="Arena" st="MD">
<row thisid="4" thisname="Park" st="CA">
I want THISNAME IN DROPDOWNLIST and THISID as option Value in dropdownlist
|
|
|
|
|
Uhhh...What's this?
Dim SearchResult As MyWebservie = ar.AsyncState
This would appear that your defining SearchResult as your WebService , then assigning an AsyncState to it, but after that, you never use it. Also, what is ar ? You switch to something called TicketSearchResult and call its EndGetEventList method.
As it is now, this code is completely incomprehensible. On top of that, we don't know what the code for the WebService method looks like, so we don't know if it is indeed returning what it's supposed to.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
hi. how do i retrieve the contents of my listbox to the first excel sheet? after that, new sheets will be added and named according to the contents of the listbox. any help would be appreciated. thanks a lot guys!!
|
|
|
|
|
You would have to set a Reference to the Microsoft Excel whatever.0 Object Library, then use something like the following code to create an instance of Excel and populate some cells:
Dim oExcel As Object
Dim oBook As Object
Dim oSheet As Object
'Start a new workbook in Excel
Set oExcel = CreateObject("Excel.Application")
Set oBook = oExcel.Workbooks.Add
'Add data to cells of the first worksheet in the new workbook
Set oSheet = oBook.Worksheets(1)
oSheet.Range("A1").Value = "Last Name"
oSheet.Range("B1").Value = "First Name"
oSheet.Range("A1:B1").Font.Bold = True
oSheet.Range("A2").Value = "Doe"
oSheet.Range("B2").Value = "John"
'Save the Workbook and Quit Excel
oBook.SaveAs "C:\Book1.xls"
oExcel.Quit
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Can anybody help me get the code in Visual Basic.net for a simple calculator?
|
|
|
|
|
|
Does anybody know if a TreeView can be edited during runtime?
I know that I can modify the text in a node but I would like to be able to also add and remove nodes.
Thanks.
|
|
|
|
|
Sure. The Nodes collection can be modified at any time. You just have to provide a means for the user to select the node(s) and add/delete them.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
I know you don't want to write the code for me...
But do you know of any good resources that will describe the procedures?
Thanks
Brad
|
|
|
|
|
The procedure is entirely up to you. Weather you use contect menus (right-click) on individual items or by the user clicking on items and then using a couple Add and Delete buttons, or using Menu to do the Add's and Delete's...
You would have to use the TreeView's SelectedNode property to get the node that is currently selected. After that, it's a simple matter of calling the .Add method on that node's Nodes collection to add child nodes, or to call the .Remove method to delete that node.
You might want to take a look at this[^] sample code to see how Remove and Add works.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
|
|
sorry to keep buging you, but now im thinking WebService.
Would you think this is the way to go?
|
|
|
|
|
From the description of the problem that you gave, it sure is. Very easy to implement too.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
would you be so kind as to point me to a good example on this project
thank you
|
|
|
|
|
|