|
Thanks, very elementary mistake. Note to self, think before posting. I have corrected the answer below(first one was removed).
Live for today. Plan for tomorrow. Party tonight!
|
|
|
|
|
Your code is running on the startup thread, also called UI thread. If the thread is blocked there is no way it can process the Windows PAINT messages that tell the controls to repaint themselves. This is why your label doesn't change color until your button Click method is done executing.
You have to move your work to a background thread. The problem is you cannot make changes to a control, such as changing the background color, from anything other that the UI thread. Once your background thead "work" is done the background thread can notify the foreground thread to change the label color as appropriate.
Read this article[^] for a discussion and alternate methods of modifying controls from background threads.
|
|
|
|
|
|
You will need to change the colour back using a separate thread. Something like this:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim newThread As New Threading.Thread(New Threading.ThreadStart(AddressOf ChangeBGColour))
newThread.Start()
Label1.BackColor = Color.Red
End Sub
Delegate Sub changeLabelColour()
Private Sub ChangeBGColour()
Threading.Thread.Sleep(3000)
If Me.Label1.InvokeRequired Then
Dim c As New changeLabelColour(AddressOf ChangeBGColour)
Me.Invoke(c)
Else
Label1.BackColor = Color.Yellow
End If
End Sub
I added proper UI thread access . My apologies for the basic thread error.
Hope this helps
Live for today. Plan for tomorrow. Party tonight!
|
|
|
|
|
That's an excellent answer.
------------------------------------
I will never again mention that I was the poster of the One Millionth Lounge Post, nor that it was complete drivel. Dalek Dave
CCC Link[ ^]
Trolls[ ^]
|
|
|
|
|
Cheers.
Live for today. Plan for tomorrow. Party tonight!
|
|
|
|
|
Today I wrote a file compressor in Visual Basic, which stores its data in PNG images. It's called Squash.
Squash works by throttling the bytes of a file into a PNG image, storing 3 bytes per pixel in the Red, Green & Blue components. It works in a similar way to a ZIP file, but there is no extraction and apart from the extension (e.g. Document.docx.squash), the format is data/file type agnostic. Files with consistent byte patterns or 'blank' regions compress very well with Squash because these form solid or consistent areas in the graphic.
Here are the results - Results Graphic[^]
Squish is a free, single-executable file compressor. Just drag files on to Squash and find a .squash file in the same folder.
Squash is great for instant messaging, and can greatly improve transfer times. If your contacts have Squash too, they can just open the received file and it gets decompressed on the fly.
Just drop the EXE anywhere on your computer and start saving space - and time.
Project Page on my Site[^]
Download (EXE, 330k)
Source (ZIP, 150k)
If you go to the 'Project page on my Site' link, you can find the source and big explanation of how it works. The explanation is targeted towards beginners.
|
|
|
|
|
Hi all...
I am going to make a multi-user database application in VB.NET (VS 2008).
I have made several db program using different databases and made some client-server based chat programs. But I never worked on multi-user db program.
I wanna know that which database should I use as back-end. Application will be accessible by 3-5 users.
I also wanna know that from where to start to build multi-user program.
Suggest me.
Thanks.
Gagan
|
|
|
|
|
Assuming you're not storing ridiculously massive amounts of data, SQL Server Express would be a reasonable choice. Actually, pretty much anything but Access would be reasonable - there are way too many WTF's created by trying to make a multi-user Access system!
|
|
|
|
|
Personally, I use MySQL as the database and I connect my client application using WCF services.
Live for today. Plan for tomorrow. Party tonight!
|
|
|
|
|
Go with Sql Server Express, and get the Sql Server Management Studio to go with it. They're free, and should work for you. I think the db limit is now up to 10 gigs
|
|
|
|
|
Hi, I am looking into using Codility.com for screening newhires, anybody heard about it or better used it for anything serious?
Thanks
Thanks for help.
MadMax2011
|
|
|
|
|
Why did you choose the VB section for this post?
Would one of the other section not have been more applicable e.g. 'Running a business' or 'Work Issues'
|
|
|
|
|
I opened the demo-test, and closed it as soon as it finished loading. The problem-statement was an academic description, not a practical one - and it seems to measures success, not efficiency.
Must have been a nice and cool exercise to write, but it's not a tool I'll be using.
Bastard Programmer from Hell
|
|
|
|
|
Hello !
i have a sql server 2008r2 database ( stu) with a table (st) with these columns :
stID - identity (int autoincrement value)
name - char(10)
com - char(20)
i have a project in vb.net 2010 , and i have generated entity framework model with the database.
I have a form with a listbox and 2 textbox , and 2 buttons Addrecord and Saverecord.
The listbox is bound with an object from entity (stBindingSource) and displayMember: name , Valuememeber : stID. The form is also binded with stbindingsource. ( textbox1:name , Textbox2: com)
I want to add new record.The code is :
……-----------------------------------
Dim stu As stuEntities
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
stu= New stuEntities
stBindingSource.DataSource = stu.sts
End Sub
---------------------------------------------
Private Sub Addrecord_Click(sender As System.Object, e As System.EventArgs) Handles Addrecord.Click
stBindingSource.AddNew()
End Sub
-------------------------------------------------
Private Sub Saverecord_Click(sender As System.Object, e As System.EventArgs) Handles Saverecord.Click
stBindingSource.EndEdit
stu.SaveChanges(System.Data.Objects.SaveOptions.None)
End Sub
So ,first i click to "Addrecord" , and after i fill the 2 textbox , i click Saverecord.
The first record is saved with no problem.If a add another record , the record is saved , but when I open the table on database , the first record is saved 2 times , the second record is saved 1 time.
I try to add 3,4… records and everytime the last record is saved 1 time the others are all duplicated
If I call stu.SaveChanges() , with no parametres , I can’t add any records because I get an error :
The changes to the database were committed successfully, but an error occurred while updating the object context. The ObjectContext might be in an inconsistent state. Inner exception message: AcceptChanges cannot continue because the object's key values conflict with another object in the ObjectStateManager. Make sure that the key values are unique before calling AcceptChanges.
Please help me.
Thank you.
modified on Monday, August 29, 2011 9:41 PM
|
|
|
|
|
Hello!
I've got a piece of code where I need to parse a XML-file and store the data in a DataTable do modify and use the data from the file. I'm a bit stuck on the SelectNodes method.
If I have a XML file that looks like this:
="1.0"="utf-8"
<MASTER.DATA>
<Envelope>
<MessageId>146413</MessageId>
<MessageType>DataExport</MessageType>
<Version>1.0.0</Version>
<Sender>x4</Sender>
<Created>2011-08-23T00:01:45.2367404+02:00</Created>
</Envelope>
</MASTER.DATA>
The following code works like a charm:
Dim xd As XmlDocument
Dim xnl As XmlNodeList
xd = New XmlDocument()
xd.Load(fileName)
xnl = xd.SelectNodes("/MASTER.DATA/Envelope")
BUT! The file doesn't exactly look like that. The MASTER.DATA actually looks like this:
<MASTER.DATA xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://nnnn.com/schemas/sys/1.0/integration IntegrationDocumentSchema.xsd" xmlns="http://nnnn.se/schemas/sys/1.0/integration">
And all of a sudden I don't get bupkis with the above mentioned code. What am I doing wrong??
Any help is greatly appreciated.
//Jagg
Wexelblats algorithm:
Pick two: 1. Good, 2. Fast, 3. Cheap
|
|
|
|
|
I'm not sure whether the dot in the name of your rootnode is allowed. I'd go for a name without a dot.
<MASTERDATA ..>
(more stuff)
</MASTERDATA> The query below should work;
xnl = xd.SelectNodes("//MASTERDATA/Envelope") Or, to get a specific piece;
xnl = xd.SelectNodes("//MASTERDATA/Envelope[MessageId='146413']") Hope this helps
Bastard Programmer from Hell
|
|
|
|
|
Hi, thanks for the reply.
However, that didn't work either. It works as soon as I remove all the other definitions (xmlns:xsi, xsi:schemaLocation and xmlns) from the MASTER.DATA (or MASTERDATA) but as soon as they are in the file it goes completely blank. I don't get any errors, I just don't find anything.
Regarding removing the dot (MASTER.DATA) it's probably not possible, this file gets sent automatically from one of our back end systems.
Wexelblats algorithm:
Pick two: 1. Good, 2. Fast, 3. Cheap
|
|
|
|
|
I have written a code to give a sliding effect to 5 command buttons. It runs fine with default background but when i change the opacity of the form OR put a picture in the background it behaves slower rather much slower than what it does normally. What might be the issue? Any ideas to resolve it. Here is the code.
Public Class Form1
Dim slidevar As Integer = -10
Dim slidevar1 As Integer = -60
Dim slidevar2 As Integer = -120
Dim slidevar3 As Integer = -180
Dim slidevar4 As Integer = -240
Dim delayvar As Integer = -300
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Button1.Location = New Point(-1000, 10)
Button2.Location = New Point(-1000, 80)
Button3.Location = New Point(-1000, 120)
Button4.Location = New Point(-1000, 160)
Button5.Location = New Point(-1000, 200)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
End Sub
Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button.Click
slidevar = 0
slidevar1 = 0
slidevar2 = 0
slidevar3 = 0
slidevar4 = 0
Button1.Location = New Point(-1000, 10)
Button2.Location = New Point(-1000, 80)
Button3.Location = New Point(-1000, 120)
Button4.Location = New Point(-1000, 160)
Button5.Location = New Point(-1000, 200)
Timer1.Enabled = True
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If slidevar < 65 Then
Button1.Location = New Point(slidevar, 10)
slidevar += 6
If slidevar4 > 65 Then
Timer1.Enabled = False
End If
End If
For delayvar = 1 To 100
Next
If slidevar1 < 65 Then
Button2.Location = New Point(slidevar1, 80)
slidevar1 += 5
End If
For delayvar = 1 To 100
Next
If slidevar2 < 65 Then
Button3.Location = New Point(slidevar2, 120)
slidevar2 += 4
End If
For delayvar = 1 To 100
Next
If slidevar3 < 65 Then
Button4.Location = New Point(slidevar3, 160)
slidevar3 += 3
End If
For delayvar = 1 To 100
Next
If slidevar4 < 65 Then
Button5.Location = New Point(slidevar4, 200)
slidevar4 += 2
End If
End Sub
End Class
|
|
|
|
|
you have already asked this question in QA[^]
What have you tried since then?
Lobster Thermidor aux crevettes with a Mornay sauce, served in a Provençale manner with shallots and aubergines, garnished with truffle pate, brandy and a fried egg on top and Spam - Monty Python Spam Sketch
|
|
|
|
|
Hello !
I'm starting to create a project with Vb.net 2010 and SQl server 2008r2.I don't know what to choose dataset or Entity framework ?
Another question :Are these both compatible with crystal reports ?
Thank you.
|
|
|
|
|
The two choices are not interchangable. You also haven't explained what you're app is going to be doing at all so it's impossible to say.
You're asking "Should I use these two bolts to build my project (DataSet)? Or use everything in this machine shop supply store (Entity Framework)?"
Neither of these has anything to do with Crystal Reports. CR gets its data from the database, not from the objects that make up and manage your data model.
|
|
|
|
|
i try to create a data source on vb.net and there are 2 options : Dataset or Entity Data model ?
So how to decide which is the best choice ?
Someone can describe some avantages and disavantages on both model ?
What i'm going to do ? Usual things that someone can do with database :
Read , Write , Modify , Display , bound controls .... Sometimes with few records (50-10) , sometimes with much more (300-500)....
I read that if i choose one model i should continue with that , and can't use both models.
So what can i do ?
Thank you.
|
|
|
|
|
The "What are you going to do", was more a brief the application would be for.......
Lobster Thermidor aux crevettes with a Mornay sauce, served in a Provençale manner with shallots and aubergines, garnished with truffle pate, brandy and a fried egg on top and Spam - Monty Python Spam Sketch
|
|
|
|
|
this application would be for a school managment (student personal data , results, financial data...
|
|
|
|