|
Look into replacing the Panel with a boardless Form instead. The Panel control never get the input focus so it never fires off keyboard events. Forms do.
The key property of a Form you're looking for is TopLevel. Set it to false and you can treat the Form as a control, just like the Panel. The Form has a KeyPreview property that will let you handle the Form's Key events and control which PictureBox to select.
|
|
|
|
|
That's a great idea. Thanks for the input.
One thing I have been considering doing as well is using GDI+ to draw the images directly and keeping control of the regions and filenames through arrays. Although this would require more code, I think it's likely to be a more responsive way of presenting the thumbnails. Is this something I should bother to look into, or is utilising picturebox controls going to remain so much easier it's not worth it?
Cheers
Russell
|
|
|
|
|
Ditch the PictureBox's. Unless you need to handle click events on the thimbnail images, you can draw them yoursefl without all the weight of the PB's. If you need to handle click events on the pictures, use the PictureBox, or create your own class to show the images inheriting from Panel.
|
|
|
|
|
Do you think I could use the click events on the form and keep an array of the regions of each thumbnail and deal with them that way? That would mean the least amount of control overheads I think.
Cheers,
Russell.
|
|
|
|
|
I tend to go for encapsulation of such things, but yes, you can do that.
|
|
|
|
|
Hi all,
I have done the following code for updating my parent table - Contract. And it works sucessfully.
Try
Me.Validate()
Me.ContractBindingSource.EndEdit()
Me.ContractTableAdapter.Update(Me.ContractContractDetailDataSet.Contract)
MsgBox("Update successful")
Catch ex As Exception
MsgBox("Update failed")
End Try
End Sub
Now, I would like to insert, delete and update for the child table - ContractDetail
Its relationship is like this.
I tried something like the following but it did not work. I tried changing some variables like ContractTableAdapter to ContractDetailTableAdapter but it did not reflect any changes on my database.
Dim deletedChildRecords As ContractContractDetailDataSet.ContractDataTable = _
CType(ContractContractDetailDataSet.Contract.GetChanges(Data.DataRowState.Deleted), ContractContractDetailDataSet.ContractDataTable)
Dim newChildRecords As ContractContractDetailDataSet.ContractDataTable = _
CType(ContractContractDetailDataSet.Contract.GetChanges(Data.DataRowState.Added), ContractContractDetailDataSet.ContractDataTable)
Dim modifiedChildRecords As ContractContractDetailDataSet.ContractDataTable = _
CType(ContractContractDetailDataSet.Contract.GetChanges(Data.DataRowState.Modified), ContractContractDetailDataSet.ContractDataTable)
Try
If deletedChildRecords IsNot Nothing Then
ContractTableAdapter.Update(deletedChildRecords)
End If
ContractTableAdapter.Update(ContractContractDetailDataSet.Contract)
If newChildRecords IsNot Nothing Then
ContractTableAdapter.Update(newChildRecords)
End If
If modifiedChildRecords IsNot Nothing Then
ContractTableAdapter.Update(modifiedChildRecords)
End If
ContractContractDetailDataSet.AcceptChanges()
Catch ex As Exception
MessageBox.Show("An error occurred during the update process")
' Add code to handle error here.
Finally
If deletedChildRecords IsNot Nothing Then
deletedChildRecords.Dispose()
End If
If newChildRecords IsNot Nothing Then
newChildRecords.Dispose()
End If
If modifiedChildRecords IsNot Nothing Then
modifiedChildRecords.Dispose()
End If
End Try
End Sub
These are the components that are created.
Any help is greatly appreciated. Thanks!
telly
|
|
|
|
|
I cannot modify the above post because the edit button have been shift to the right and the message board cannot be scroll through.
But you can click on Reply to read the codes at the back.
Thanks for any help!
telly
|
|
|
|
|
Sub Foo(Optional _string as String = String.Empty)
^ Error ¿?
Creador de sueños, títere en una realidad efímera y tardía.
|
|
|
|
|
You might want to actually explain the error message you get instead of attempting to "point" to the problem, which didn't work as you expected.
You have to specify the default value of a String in quotes, not using String.Empty:
Sub Foo(Optional _string As String = "")
|
|
|
|
|
You need to be a bit more descriptive about your problem.
"I guess it's what separates the professionals from the drag and drop, girly wirly, namby pamby, wishy washy, can't code for crap types." - Pete O'Hanlon
|
|
|
|
|
I created a setup for my small application using the click once deployment method.But I also want to execute another *.exe file in setup the process. i.e. I want to execute another *.exe file after the setup has been completed.
Do you guys know how to do it?
|
|
|
|
|
You don't have an option to run an "after install" custom action while using ClickOnce. it's not supported at all.
A better soultion would be to have this functionality built into your application, giving it a kind of "self repair" feature. If certain items do not exist in the configuration the app is expecting, call your setup process.
|
|
|
|
|
How do I get the selected value from a combo box and use it in a database update.
This is the code to update the datarows. I am not sure what hte syntax is or the method, etc for getting the selected value which is also the primary key of the database table.
' Locate the row you want to update.<br />
Dim ssRow() As Data.DataRow<br />
ssRow = lpDataSet.Tables("tbl_store_sched").Select("ss_id = ")
|
|
|
|
|
AAGTHosting wrote: How do I get the selected value from a combo box and use it in a database update.
You said it yourself. If the ComboBox is bound to a DataTable, ComboBox1.SelectedValue returns the value of the selected item in the combo.
|
|
|
|
|
I'm writing a console application. I am trying to change directory path.
I use a line like below.
Environment.CurrentDirectory = "C:\somedirectory"
The line compiles, runs without throwing an exception, but does not change the directory.
Any other commands or tricks to try?
|
|
|
|
|
You can't do what you trying to do.
Changing the "current directory" only does so for the current process, i.e.: your app. Any changes you make the the "current directory" do not get reflected by the shell that launched your app. The shell (CMD) maintains its own "current directory".
|
|
|
|
|
|
How can i refresh datagrid in vb.net.
I want to display color in one cell in grid but when it loads first time it is working here is my code
Public Class Dialog_Colorazione
Const YEAR_START As Integer = 2005
'function to fill the combo with year
Private Sub LoadComboBoxes()
cboYear.Items.Clear()
cboYear.SelectedIndex = -1
Dim i As Integer
For i = Date.Today.Year To YEAR_START Step -1
cboYear.Items.Add(i.ToString())
Next
cboYear.SelectedIndex = 0
' loadcolor(cboYear.SelectedItem)
End Sub
'till here function to fill the combo with year
Private Sub Dialog_Colorazione_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'calling functions to fill the combo and display the color details
'cboYear.SelectedText = Today.Year
LoadComboBoxes()
' loadcolor(cboYear.SelectedItem)
'cboYear.SelectedIndex = 1
dgvFatturato.Refresh()
End Sub
'function the collect and fill the grid with the colors in the selected year
Public Function loadcolor(ByVal year As Integer)
Dim currentyear As Integer = Today.Year
Using connection As New OleDbConnection(My.Settings.BCS_ACCConnectionStrin g & ";Jet OLEDB:Database Password=" & Costanti.strAccessDbPassword)
connection.Open()
Dim adpt As New OleDb.OleDbDataAdapter("SELECT RefYear,LowRange,UpRange,ColorName FROM ACC_COLORI_FATTURATO WHERE RefYear=" & year & "", connection)
Dim ds As New DataTable
adpt.Fill(ds)
'added on 08/12/2007 to display color in the datagrid
If ds Is Nothing Or ds.Rows.Count = 0 Then
ShowMessage("Nessun dato per i criteri selezionati")
dgvFatturato.Visible = False
Else
dgvFatturato.DataSource = Nothing
dgvFatturato.Visible = True
dgvFatturato.DataSource = ds
ds.Columns(0).ColumnName = "Anno"
ds.Columns(1).ColumnName = "Maggiore da"
ds.Columns(2).ColumnName = "Minore da"
ds.Columns(3).ColumnName = "Colore"
' ds.Columns(4).ColumnName = "ID colore" 'commended on 11/01/2008 for hiding the coloumn
'Added on 11/01/2008
' Dim year1 As Integer = cboYear.SelectedItem
Using connection1 As New OleDbConnection(My.Settings.BCS_ACCConnectionStrin g & ";Jet OLEDB:Database Password=" & Costanti.strAccessDbPassword)
connection1.Open()
Dim ds1 As New DataTable
Dim adpt1 As New OleDbDataAdapter("select color from ACC_COLORI_FATTURATO WHERE RefYear=" & year & "", connection)
adpt1.Fill(ds1)
If dgvFatturato.RowCount > 0 And ds1.Rows.Count > 0 Then
For Each row As DataGridViewRow In dgvFatturato.Rows
' For i As Integer = 0 To ds1.Rows.Count - 1
Dim colorn As Integer = ds1.Rows(row.Index).Item(0)
row.Cells(3).Style.BackColor = Color.FromArgb(255, Color.FromArgb(CType(colorn, Int32)))
Next
End If
connection1.Close()
End Using
''Till here
End If
'Till here added on 08/12/2007 to display color in the datagrid
connection.Close()
End Using
End Function
'till here function the collect and fill the grid with the colors in the selected year
'to collect and display the color information on change of the combo
Private Sub cboYear_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboYear.SelectedIndexChanged
loadcolor(cboYear.SelectedItem)
End Sub
'till here to collect and display the color information on change of the combo
Thanks....
modified on Friday, January 11, 2008 10:52:18 PM
|
|
|
|
|
OK. First, most of this code has nothing to do with your question. Post only the snippets you need to explain your question, not your entire codebase.
Member 4764094 wrote: I want to display color in one cell in grid but when it loads first time it is working
So what's the problem?? What's it doing that you don't expect?? What is it supposed to be doing??
BTW, your DeciamlToHexadeciaml function can be replaced with a single line of code:
Private Function DeciamlToHexadeciaml(ByVal number As Integer) As String
Return Hex(number)
End Function
Personally, I find that you probably don't need your function at all since typing Hex is much shorter than typing DeciamlToHexadeciaml to do the exact same thing.
|
|
|
|
|
Thank you for the replay.
Problem is
I am calling the function loadcolor in the page load and dropdown selected index change.
When the page loads first it is displaying color in the grid.
But after that it is not displaying color on load.but the same function works fine in selected index change. i think now it is clear to you. Any suggestions?
|
|
|
|
|
Member 4764094 wrote: i think now it is clear to you.
Think again.
Member 4764094 wrote: But after that it is not displaying color on load
Of course not. Load is only fired once in the lifetime of the Form.
I still don't get what the problem is. You're assuming I know more about your project than your decribing. You haven't described what you expect the code to do and you haven't even described what the code is really doing. Without these two critical pieces of information, there's nothing I can tell you.
|
|
|
|
|
hi all,
Is MAC OS Support DOS and their .bat file.
Can any one clear this doubt.
Thank you in advance.
Senthil.S
Senthil S
Software Engineer
|
|
|
|
|
Senthil S wrote: MAC OS Support DOS and their .bat file
No.
"I guess it's what separates the professionals from the drag and drop, girly wirly, namby pamby, wishy washy, can't code for crap types." - Pete O'Hanlon
|
|
|
|
|
No, since Mac OS is based on a Linux kernel.
And what does this have to do with VB.NET?? Your question would have been better asked in some Mac forum. Sorry, but I firmly believe is using the right tool for the job.
|
|
|
|
|
hi all,
how i can check the system is already having dotnet framework or not.
is any coding is available???
thank you in advance
senthil.s
|
|
|
|