|
Hi ,
Is there any way to disable multi select of checkbox in a list view ?.ie one should be able to check only one row at a time.
With warm regards
|
|
|
|
|
You can use ItemChecked event and uncheck all already checked items in this event and leave only the newly checked intact.
Although I think it's not a good UI design if you have checkboxes for list items and still the user is able to check only one item at a time. Checkboxes are used when multiple choices can be selected, so single selection list with check boxes would give the user a wrong impression. Could you simply set MultiSelect to false (without checkboxes).
|
|
|
|
|
did you mean listbox or CheckBoxList????
if you mean listbox, so there is no problem, just set SelectionMode property to Single.
if you mean CheckBoxList, so it's better to use RadioListBox for single selection. if you want CheckBoxList for single selection you must code for it on selectedindexchange event on checkboxList.
Human knowledge belongs to the world
|
|
|
|
|
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
|
|
|
|