c#


Making a transparent/Click-throughable VB.net form clickable with a toggle


So I was working on a transparent add-on VB.net program that will be clickable only if you click shift. E.g. It will just stay there but clicks will go through it unless I hold shift f.e
I saw this and tested the codes,
VB.net Click through form
However I tried to change some controls but none are able to give me a kind of "toggle". Any clue of what I can fix for it?
Answers in C# are welcome as well as I can program C# instead if it is not do-able in VB
Edit: Code I have been trying to use is this
Imports System.Runtime.InteropServices
Public Class Form1
Private InitialStyle As Integer
Dim PercentVisible As Decimal
Private Sub Form_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
InitialStyle = GetWindowLong(Me.Handle, -20)
PercentVisible = 0.8
SetWindowLong(Me.Handle, -20, InitialStyle Or &H80000 Or &H20)
SetLayeredWindowAttributes(Me.Handle, 0, 255 * PercentVisible, &H2)
Me.BackColor = Color.Red
Me.TopMost = True
End Sub
<DllImport("user32.dll", EntryPoint:="GetWindowLong")> Public Shared Function GetWindowLong(ByVal hWnd As IntPtr, ByVal nIndex As Integer) As Integer
End Function
<DllImport("user32.dll", EntryPoint:="SetWindowLong")> Public Shared Function SetWindowLong(ByVal hWnd As IntPtr, ByVal nIndex As Integer, ByVal dwNewLong As Integer) As Integer
End Function
<DllImport("user32.dll", EntryPoint:="SetLayeredWindowAttributes")> Public Shared Function SetLayeredWindowAttributes(ByVal hWnd As IntPtr, ByVal crKey As Integer, ByVal alpha As Byte, ByVal dwFlags As Integer) As Boolean
End Function
End Class
I found the color to make all the difference; afaik this is a legacy bug/feature we can make use of.
Here is a minimal example:
public Form1()
{
InitializeComponent();
BackColor = Color.FromArgb(123,234,34);
TransparencyKey = BackColor;
Text = "Click Me!";
KeyPreview = true;
}
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.Shift)
{
BackColor = Color.Fuchsia;
TransparencyKey = BackColor;
Text = "Click Through!";
}
}
private void Form1_KeyUp(object sender, KeyEventArgs e)
{
BackColor = Color.FromArgb(123,234,34);
TransparencyKey = BackColor;
Text = "Click Me!";
}

Related Links

Override ListView Clear() method
Best practice for saving data in SQL
Waiting for Server Response Before Redirect
SqlException: How to drop constraint, delete table and reinstate constraint?
sorting a dataView in asc doesnt work
DebugDiag Message Thread Does Not Appear to be Waiting on the Remote Server to Respond
MVC4 c# website in localhost used heavy processor in chrome browser after loading complete
In a DNX project, how can I target for Xamarin Android?
C# ASP.Net 5 configuration and backwards compatibility with Class Libraries
Readonly nested object properties
ThreadStateException on OpenFileDialog with No Threads
Google.Apis.Calendar.v3.dll ask 1.9.2 version on Google APIs
Deleting application content from storage in Windows Phone 10
Xamarin forms android Application not getting DeviceToken Parse SDK
c# how can I read String of double correctly despite the number Format?
Command Parameter “Position” for MouseDown event

Categories

HOME
oop
indexing
typo3
ebay-api
conceptual
jquery-plugins
nltk
jshell
browserstack
scapy
restheart
facebook-sharer
dynamics-crm-2011
email-attachments
jetbrains
popup
web-testing
novacode-docx
beacon
polybase
vala
handle
gsuite
android-xml
priority-queue
oracle10g
nsopenpanel
libxml2
marionette
azure-table-storage
dynamics-ax-2012-r3
hierarchy
paper-trail-gem
vtd-xml
kubectl
javax
respect-validation
observer-pattern
gridgain
jenkins-2
runner
stream-socket-client
ng-class
noise
ajv
boost-regex
programming-pearls
jtextarea
petapoco
codesniffer
google-scholar
lattice
portaudio
timefield
mac-app-store
consolidation
eclipse-mars
dbi
universe
altova
diameter-protocol
jmap
nd4j
chomsky-normal-form
music-player
clear
tvp
valdr-bean-validation
asp.net-2.0
random-access
jsonmodel
kss
sync
xmlserializer
gnip
worklight-appcenter
oxygenxml
fscanf
rpt
telerik-appbuilder
traceur
slimscroll
windows-phone-store
autofilter
logo-lang
kendo-window
mandelbrot
nx
waveout
django-1.4
datasheet
youtube.net-api
nbehave
nstoolbar
retrospectiva

Resources

Mobile Apps Dev
Database Users
javascript
java
csharp
php
android
MS Developer
developer works
python
ios
c
html
jquery
RDBMS discuss
Cloud Virtualization
Database Dev&Adm
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App