Showing posts with label 2005. Show all posts
Showing posts with label 2005. Show all posts

Thursday, May 15, 2008

Visual studio 2005 toolbox icons messed up.

When I started VS 2005 today I noticed all my icons where messed up :



This makes finding the right control a little harder.

The solution is quite simple : Right click the toolbox and choose reset toolbox,
and presto , icons back.  Unfortunatly this also removes any custom items and tabs in the toolbox.

I also read that deleting all tlb files in  C:\Documents and Settings\_username_\Local Settings\Application Data\Microsoft\VisualStudio\8.0 can work, but did not try it myself.
I don't know what other things might be removed when you delete these files, so be carefull!

 

Wednesday, May 7, 2008

Problem adding files to deployment project

For some time now I have had problems adding files to the file system editor portion of a deployment project.

When I right clicked, add file, browse for a file, any file (dll / jpg / xml / txt / ...)
It would not add this file to the project,

Luckily there are workarounds for this issue (no definite fix found yet) :
- the simplest is just closing and reopening visual studio
- Rebooting your pc may also work
- Adding a shortcut to the file (which will add the file also), and deleting the shortcut (I have not tried this yet myself)
- Resetting your visual studio settings can also help (also haven't tried this myself)
- Some even say that reinstalling fixes this problem (which will ofcourse open & close visual studio and reset the settings ;-) )

Friday, March 23, 2007

Access the clipboard from a visual studio macro

Visual Studio macros can save a lot of time,
automating the workspace,
but when you try to access the clipboard,
the following error pops up :
Current thread must be set to singe threat apartment (STA) mode before OLE calls can be made. Ensure that your main function has STAThreatAttribute marked on it.
Not so nice,

The trick to solve this is create a new thread, have the STA flag set and let that thread access the clipboard.

I created a new macro module modClipboard with the following functions :

Private clipText As String

Public Property ClipboardText() As String
Get
RunThread(AddressOf GetClipboardText)
Return clipText
End Get
Set(ByVal value As String)
clipText = value
RunThread(AddressOf CopyToClipboard)
End Set
End Property

Private Function RunThread(ByVal fct As Threading.ThreadStart)
Dim thread As New Threading.Thread(fct)
thread.ApartmentState = Threading.ApartmentState.STA

thread.Start()
thread.Join()
End Function

Private Sub GetClipboardText()
clipText = Clipboard.GetText()
End Sub

Private Sub CopyToClipboard()
'The second parameter is required
Clipboard.SetDataObject(clipText, True)
End Sub

The module variable (cliptext) is required to transfer the data between the threads.

And now we can call the property in our other functions :
 
Copy to clipboard :
ClipboardText = "Whatever you want"

Get the clipboard data :
  strClipboard = ClipboardText