|
|
Well, the Font property is read/writable. But, once created, the Font is immutable. You can't modify it. What you have to do is create a new Font object and assign it to the ListBox.Font property. But, you can create a new Font by using an existing one and modifying the parameters as you do so:
ListBox1.Font = New Font(ListBox1.Font, ListBox1.Font.Style Or FontStyle.Bold)
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
|
Not through properties. It's all or nothing. The only way to do it is if you were to owner-draw the control. This will give you the ability to draw each item individually, and in the process, change its font.
Search the articles for "custom listview" and you'll find examples of owner-drawing the ListView control.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
I just need to know how to find the "Type of File" property that is found when you right click on a file in WinXP. There is a line in the properties window that reads "Type of File" and then reads the application that uses that file, like Adobe Acrobat Document, or Microsoft Word Document. I'm using the Dsofile from microsoft to determine the author, title and etc, but i don't see anything pertaining to the "Type of File". I also know how to determine the extension of a file using the FileInfo. Any ideas? thanks!
|
|
|
|
|
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/functions/shgetfileinfo.asp
SHGFI_TYPENAME
Retrieve the string that describes the file's type. The string is copied to the szTypeName member of the structure specified in psfi.
=============================================
Something like this:
=============================================
Imports System.Runtime.InteropServices
Public Class Form1
Inherits System.Windows.Forms.Form
Private Declare Auto Function SHGetFileInfo Lib "shell32.dll" ( _
ByVal pszPath As String, _
ByVal dwFileAttributes As Integer, _
ByRef psfi As SHFILEINFO, _
ByVal cbFileInfo As Integer, _
ByVal uFlags As Integer _
) As IntPtr
<structlayout(layoutkind.sequential, charset:="CharSet.Auto)"> _
Private Structure SHFILEINFO
Public hIcon As Int32
Public iIcon As Int32
Public dwAttributes As Int32
<marshalas(unmanagedtype.byvaltstr, sizeconst:="260)"> _
Public szDisplayName As String
<marshalas(unmanagedtype.byvaltstr, sizeconst:="80)"> _
Public szTypeName As String
End Structure
Private Const SHGFI_TYPENAME As Int32 = &H400
Private Sub Form1_Load( _
ByVal sender As System.Object, _
ByVal e As System.EventArgs _
) Handles MyBase.Load
Dim x As SHFILEINFO
Call SHGetFileInfo("C:\test\test.tex", 0, x, Len(x), SHGFI_TYPENAME)
MsgBox(x.szTypeName)
End Sub
End Class
|
|
|
|
|
Here it is again with the right structs:
Imports System.Runtime.InteropServices
Public Class Form1
Inherits System.Windows.Forms.Form
Private Declare Auto Function SHGetFileInfo Lib "shell32.dll" ( _
ByVal pszPath As String, _
ByVal dwFileAttributes As Integer, _
ByRef psfi As SHFILEINFO, _
ByVal cbFileInfo As Integer, _
ByVal uFlags As Integer _
) As IntPtr
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Auto)> _
Private Structure SHFILEINFO
Public hIcon As Int32
Public iIcon As Int32
Public dwAttributes As Int32
<MarshalAs(UnmanagedType.ByValTStr, SizeConst:=260)> _
Public szDisplayName As String
<MarshalAs(UnmanagedType.ByValTStr, SizeConst:=80)> _
Public szTypeName As String
End Structure
Private Const SHGFI_TYPENAME As Int32 = &H400
Private Sub Form1_Load( _
ByVal sender As System.Object, _
ByVal e As System.EventArgs _
) Handles MyBase.Load
Dim x As SHFILEINFO
Call SHGetFileInfo("C:\test_tl\ausarb.tex", 0, x, Len(x), SHGFI_TYPENAME)
MsgBox(x.szTypeName)
End Sub
End Class
|
|
|
|
|
I need a bit of help. I'm trying to enumerate the windows PATH environment variable so that each directory listed in the PATH variable can be extracted and displayed/edited/messed with individually.
I can retreive the path no problem, and i could probably parse the string and store the results in a collection, to achieve this, but that seems a bit cumbersome.
basically i'm trying to see if a file exist in any of the directories listed in the PATH variable. So i'd like to be able to do something like this.
For each path in winpath
If File.Exists(PATH & "\file.nam") Then
bExists = True
End If
Next
or something like that.
anyone know the easiest way this can be accomplished?
I R NUB
|
|
|
|
|
' Returns the complete path+name of the filename or a null string if the
' filename hasn't been found. Only the first occurrence of the file is returned.
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Debug.WriteLine(SearchFileInDirTree("c:\test\", "TestText.txt"))
'File was put in folder "c:\test\test1\test2\"
End Sub
<system.runtime.interopservices.dllimport("imagehlp.dll")> Shared Function _
SearchTreeForFile(ByVal rootPath As String, ByVal inputPathName As String, _
ByVal outputPathBuffer As System.Text.StringBuilder) As Boolean
End Function
Function SearchFileInDirTree(ByVal rootDir As String, ByVal fileName As String) _
As String
Dim buffer As New System.Text.StringBuilder(260)
SearchTreeForFile(rootDir, fileName, buffer)
Return buffer.ToString()
End Function
|
|
|
|
|
RePost, I messed up the first one
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Debug.WriteLine(SearchFileInDirTree("c:\test\", "TestText.txt"))
'File is realy in folder "c:\test\test1\test2\"
End Sub
<System.Runtime.InteropServices.DllImport("imagehlp.dll")> Shared Function _
SearchTreeForFile(ByVal rootPath As String, ByVal inputPathName As String, _
ByVal outputPathBuffer As System.Text.StringBuilder) As Boolean
End Function
Function SearchFileInDirTree(ByVal rootDir As String, ByVal fileName As String) _
As String
Dim buffer As New System.Text.StringBuilder(260)
SearchTreeForFile(rootDir, fileName, buffer)
Return buffer.ToString()
End Function
|
|
|
|
|
That function looks like this:
<System.Runtime.InteropServices.DllImport("imagehlp.dll")> Shared Function _
SearchTreeForFile(ByVal rootPath As String, ByVal inputPathName As String, _
ByVal outputPathBuffer As System.Text.StringBuilder) As Boolean
End Function
|
|
|
|
|
Does anyone have an example of how to pass integers through a TCP client.
I am trying to pass 32bit integers without success.
I don't seem to be able to convert Int32 to bytes
I can pass strings without problems
Any help would be appreciated
Bob
|
|
|
|
|
It took awhile to realize I was going way down the wrong road. I finally found an article by Ken Spencer that made all the balls drop into place
It's funny how a simple twist of a phrase can make such a big difference.
http://msdn.microsoft.com/msdnmag/issues/03/08/AdvancedBasics/[^]
I am now wrapping the the first version of my app and looking forward to additional enhancements.
Hello all, I am trying to get a grip on data access coding. I have a several text boxes that access the address fields of my row. I was trying to get away from lots of add/delete/update buttons on the form. So.., I would like be able to add a new address when the user changes the selection on a combobox (assuming an existing record does not already exist).
My question is two fold.
One. The code sample below is currently errors with the following:
Additional information: Cannot bind to property or column Address on DataSource.
When adding (resetting) the binding to my textbox.
Two. Am I even using the correct approach to peform this maintenance.
I seems that .net doc is volumous too say the least.
Some assumptions here. lb Lenders is a listbox that is the master for this detail form
cboAddressType relates to the validation table of ...addresstypes.
Thank you for any guidance regarding this.
Fred Goodrum
<<deleted>>
|
|
|
|
|
I want to write a VB.net code for a software that will capture fingerprints from a biometric scanner.It will serve as an access control system which gives access to a network resources such as files.The software will enroll users fingerprints and store them in a dbase(SQL).It will also gives access when a match is found in dbase when a user scan his/her fingerprint and it denies access if such users fingerprints are not found.It will also keep time and attendance record and should be able 2 generate such reports.This is my final year project @university.I need help in form of codes,advice,tutorials or whatever will achieve this task 4 me.Thx.
|
|
|
|
|
abeyphier wrote:
This is my final year project @university.
Well, hop to it then. Good luck in finding a solution that gives you the grade you deserve.
Christian
I have several lifelong friends that are New Yorkers but I have always gravitated toward the weirdo's. - Richard Stringer
|
|
|
|
|
Probably the most important skill you need to survive in this job is being able to do your own research and learn what you need on-the-fly.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Yep - you got that right !!!
Christian
I have several lifelong friends that are New Yorkers but I have always gravitated toward the weirdo's. - Richard Stringer
|
|
|
|
|
At least it's the one skill that's kept me alive in this field for 20 years.
Again, I raise my glass to you!
Cheers!
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Hi All,
Am getting an error in getting connected to the Access Database.
But when i get connected to the access database thru database connection wizard (from design page itself),its working fine.
I tried copying the connection string from the design properties to the code also but its not working
Code:
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\test.mdb;UID=admin"
Error:
An unhandled exception of type 'System.NullReferenceException' occurred in WindowsApplication2.exe
Additional information: Object reference not set to an instance of an object.
Any one can help me?
Thanks in advance
|
|
|
|
|
can you post the code that you're using to create the connection object etc.?
thanks.
-jim
|
|
|
|
|
Hi Jim,
Thank You for your response.Here is my code.Am not knowing where's the change needed.
Once again, Thanks in advance.
Code:
Imports System.Data.OleDb
Public Class Form2
Inherits System.Windows.Forms.Form
#Region " Windows Form Designer generated code "
Public Sub New()
MyBase.New()
'This call is required by the Windows Form Designer.
InitializeComponent()
'Add any initialization after the InitializeComponent() call
End Sub
'Form overrides dispose to clean up the component list.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
Friend WithEvents DataGrid1 As System.Windows.Forms.DataGrid
Friend WithEvents Button1 As System.Windows.Forms.Button
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.DataGrid1 = New System.Windows.Forms.DataGrid
Me.Button1 = New System.Windows.Forms.Button
CType(Me.DataGrid1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'DataGrid1
'
Me.DataGrid1.DataMember = ""
Me.DataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText
Me.DataGrid1.Location = New System.Drawing.Point(56, 24)
Me.DataGrid1.Name = "DataGrid1"
Me.DataGrid1.TabIndex = 0
'
'Button1
'
Me.Button1.Location = New System.Drawing.Point(88, 144)
Me.Button1.Name = "Button1"
Me.Button1.TabIndex = 1
Me.Button1.Text = "Button1"
'
'Form2
'
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(292, 266)
Me.Controls.Add(Me.Button1)
Me.Controls.Add(Me.DataGrid1)
Me.Name = "Form2"
Me.Text = "Form2"
CType(Me.DataGrid1, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
End Sub
#End Region
Dim con As OleDbConnection
Dim da As OleDbDataAdapter
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\work\Student.mdb;User Id=Admin;Password=;"
con.Open()
da.SelectCommand = New OleDbCommand("Select * from Users", con)
Dim ds As DataSet
ds = New DataSet("Users")
da.Fill(ds)
DataGrid1.DataMember = "Users"
DataGrid1.DataSource = ds
End Sub
End Class
|
|
|
|
|
no problem. you haven't instantiated your connection, or your dataadapter objects. try something like this...
Private con As OleDbConnection
Private da As OleDbDataAdapter ' switch declaration for these two variables to be private. they're private by default, but it's good practice...
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
con = New OleDBConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\work\Student.mdb;User Id=Admin;Password=;")
da = New OleDBDataadapter("Select * from Users", con)
try
con.Open()
Dim ds As DataSet
ds = New DataSet("Users")
da.Fill(ds)
DataGrid1.DataSource = ds
DataGrid1.DataMember = "Users"
catch ex as exception
messagebox.show(ex.message & environment.newline & environment.newline & ex.stacktrace, "Error")
finally
if (not con is nothing)
con.dispose
end if
if (not ds is nothing) then
da.dispose
end if
end try
End Sub
End Class I haven't tested this out, so there may be some syntax errors etc. let me know how it works.
-jim
|
|
|
|
|
Hi Jim,
It Worked Out.Thank you sooooo much. Iam really getting annoyed at my problem... Any Way THANK YOU VERY MUCH for your intime help.
Lots Of thanks from my side,
Vedagni
|
|
|
|
|
no problem.
-jim
|
|
|
|
|
For some reason, the CurrencyManager will not let me remove the last item in the collection. For example, if I have a CurrencyManager bound to a collection with a Form and Control bound to the CurrencyManager. I can remove any item from the CurrencyManager just fine with RemoveAt. However, if it is the last item , it simply ignores the call. It doesn't throw and error, it simply doesn't do anything. Count remains Same, Position remains 0. Even if I try calling CurrencyManagerVar.List.Clear(),
it ignores the call. Again, no error, just doesn't do anything.
But in my Another form it has worked fine with CurrencyManager.RemoveAt(CurrencyManger.Position)
Any Problem in my code?
My code is :
CurrencyManager.RemoveAt(CurrencyManager.Position)
I have also tried with
Dataview.Delete(CurrencyManager.Position)
And
Dataview.Delete(CurrencyManager.Count-1)
And also with
DatarowView = CurrencyManager.Current
DataTable.Remove(DatarowView.row)
|
|
|
|