|
I know this question was asked over a year ago, but I have been searching for an answer myself with little success and wanted to get this out there to save others who may be searching the hours of frustration I encountered. I finally came up with the following VB .NET code to take care of the problem:
'Declare a Form global boolean to keep the ItemChecked event from being called in an infinite loop
Dim bFirstChange as Boolean = True
Private Sub Listview1_ItemChecked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ItemCheckedEventArgs) Handles Listview1.ItemChecked
If ((ModifierKeys = Keys.Control) Or (ModifierKeys = Keys.Shift)) Then
If (bFirstChange) Then
bFirstChange = False
e.Item.Checked = Not e.Item.Checked
Else
bFirstChange = True
End If
Exit Sub
End If
'Accentuate that the row is checked
If (e.Item.Checked) Then
e.Item.SubItems(0).Text = "+"
e.Item.BackColor = Color.LightYellow
Else
e.Item.SubItems(0).Text = "-"
e.Item.BackColor = Color.White
End If
End Sub
This worked for me to keep the Checked property unchanged. Not sure about the "thread safe-ness" of this, but not a problem for me in the form I am working with. You should be able to easily convert this if you need it in C# instead of VB.
HTH - hground
|
|
|
|
|
Cool - thanks for this, and for letting me know on the other, older thread.
I ended up with a work-around keeping track of which entries were supposed to be checked, but this looks much simpler. I'll convert it to C# and give it a go.
Thanks again
Days spent at sea are not deducted from one's alloted span - Phoenician proverb
|
|
|
|
|
I've got a better solution:
Private Sub ListView1_ItemCheck(ByVal sender As Object, ByVal e As System.Windows.Forms.ItemCheckEventArgs) Handles ListView1.ItemCheck
If (ModifierKeys And (Keys.Shift Or Keys.Control)) <> 0 Then e.NewValue = e.CurrentValue
End Sub
Enjoy
|
|
|
|
|
For some reason, the first solution, translated into C++/CLI, will create a stack overflow if you shift- or control-click anywhere besides the "Name" column.
MarqW's solution, translated into C++/CLI works fine. No need for global variables.
private: System::Void listView1_ItemCheck(System::Object^ sender, System::Windows::Forms::ItemCheckEventArgs^ e)
{
if( (ModifierKeys == Keys::Control) || (ModifierKeys == Keys::Shift) )
{
e->NewValue = e->CurrentValue;
}
}
It's the difference between the ItemCheck and ItemChecked events.
modified on Monday, August 23, 2010 3:30 PM
|
|
|
|
|
It's very good guide. Can you convert it to C# ?
|
|
|
|
|
Seriously? The reply above has already converted it to C#.
Even if you hadn't seen that, it's one line of code which pretty much translates as-is, apart from If Then, becomes If( )
|
|
|
|
|
Phew, i found out : this is in C#
if (Control.ModifierKeys == Keys.Shift || Control.ModifierKeys == Keys.Control)
{
e.NewValue = e.CurrentValue;
}
|
|
|
|
|
Just a little improvement for you. This one only performs one check condition, and handles the case if both keys are pressed (or one key with Alt or Win)
if( (Control.ModifierKeys & (Keys.Shift | Keys.Control)) )
{
e.NewValue = e.CurrentValue;
}
|
|
|
|
|
Hello Friends,
I have created a user control and want to add it in datagridview in windows application, but I am not able to add it.
Thanks in advance.
Regards,
rahul saini
|
|
|
|
|
First create an object of the user control you have:-
Dim objControl as new <your user="" control="">
Next add it to the datagridview
DataGridView1.Control.Add(objControl)
|
|
|
|
|
Hello Vivek,
Thanks for ur reply.
I have tried this, but I want to add user control as DataGridviewButtonColumn so that it can be used for each data in each row.
Regards,
rahul saini
|
|
|
|
|
Your control's class should inherit from DataGridViewColumn.Once that is done, add the control as column using DataGridView1.Columns.Add. Visit following link for further help
http://msdn.microsoft.com/en-us/library/7tas5c80.aspx
|
|
|
|
|
I want to do Resume Parsing ,means reading a Word document file resume and after parsing , send some required informations like candidate Name,Email-ID,Phone No. , Experience etc.to the data base automatically.
Can any one suggest Any free and commercial library for parsing resume.
I need a Library using which I can get information like name, email, phone, Skill set, year of exp etc.
modified on Tuesday, January 13, 2009 6:14 AM
|
|
|
|
|
for that u have to create a dictionary program separately.... in which your required key words should be present...
using System.Text.RegularExpressions;
u can do it
the quieter u become more u hear
|
|
|
|
|
even then finding name , Exp, Skill set is not easy task. Can u suggest some code sample for some library for the purpose.
|
|
|
|
|
Regex reg = New Regex("brown");
string str1 = "the quick brown fox jumped over
the lazy dog";
Match matchSet;
int matchPos;
matchSet = reg.Match(str1)
If (matchSet.Success) {
matchPos = matchSet.Index;
Console.WriteLine("found match at position:" +
matchPos);
}
}
}
this code finds the word brown
use ur creativity.... and develop rest of ur's
the quieter u become more u hear
|
|
|
|
|
If you are not using a pro-forma resume, this is going to be mind numbingly complicated.
Henry Minute
If you open a can of worms, any viable solution *MUST* involve a larger can.
|
|
|
|
|
Check into a company named Burning Glass Technologies, www.burning-glass.com.
Keep It Simple Stupid! (KISS)
|
|
|
|
|
Is there a Way or tool for converting resume form Word format to HR-XML format. Once resume is converted to HR-XML format it can be Processed.
|
|
|
|
|
how to implement escape sequence like ( ) / \
these in coding
Regex.Matches(str1, " [\,/]");
this shows escape sequence error
the quieter u become more u hear
|
|
|
|
|
Hi,
you only have to escape the \ by using \\. So your regex will look like this:
<br />
Regex.Matches(str1, "[\\,/]");<br />
Regards
Sebastian
|
|
|
|
|
s = Regex.Replace(s," ( ", " ");
s = Regex.Replace(s," ) ", ",");
how about here... same problem
thanks
the quieter u become more u hear
|
|
|
|
|
Hmm, that should be no problem. Pasted it in my code and the IDE doesn't show an error. Do you get a runtime error or a compiler error? Could you please provide the whole error text?
Thanks.
|
|
|
|
|
parsing " ( " - Not enough )'s.
this is the error msg shown.... runtime error
compling suceeded.....
the quieter u become more u hear
|
|
|
|
|
That is because round paranthesis are a special character within regex. You have to escape them also like this:
<br />
s = Regex.Replace(s," \( ", " ");<br />
|
|
|
|