|
You will need to expose a boolean property from your user control. Then, you can set that in the form where you are using the user control on enter keypress.
50-50-90 rule: Anytime I have a 50-50 chance of getting something right, there's a 90% probability I'll get it wrong...!!
|
|
|
|
|
I have tried this method also but it is not working
|
|
|
|
|
Can you show the code you are using? Also, do you just want the focus or want display cues as well?
50-50-90 rule: Anytime I have a 50-50 chance of getting something right, there's a 90% probability I'll get it wrong...!!
|
|
|
|
|
Override OnFocus of the user control and set focus to the check box there.
protected void OnFocus(...) {
checkBox1.Focus();
}
|
|
|
|
|
I guess OP wants checkbox to be focussed when enter key is pressed. Hence, with this approach, user control should be focussed when enter key is pressed. Then the check box will get the focus.
50-50-90 rule: Anytime I have a 50-50 chance of getting something right, there's a 90% probability I'll get it wrong...!!
|
|
|
|
|
Hi,
I have tried this but it is not working.
Madhu
|
|
|
|
|
Can you spell out your requirements CLEARLY ? Do you want to set the focus to the check box when user presses Enter Key ? This is strange behavior, why would you want this ?
|
|
|
|
|
Hi,
I am going to develop a Customer Master form where I have several TextBox, Label, Radio Button and Checkbox. The problem that I have faced is that when the focus reaches either the CheckBox or the Radio Button by pressing enter Key not Tab Key, the Rectangular Shape (to indicate that a control has focus) does not appear. Later I found that there is a property ShowFocusCues which needs to be overridden. I tried this with Class and it works fine whereby I get the Rectangular Shape indicating that it has focus. The code used in the class is
Protected Overrides ReadOnly Property ShowFocusCues() As Boolean
Get
Return True
End Get
End Property
But my requirement is not to use it as a Class but to make a UserControl containing a Checkbox.
Now, using this control in my form I am unable to get the Rectangular Shape (to indicate that a control has focus) while I move through the different controls using Enter Key.
I hope I cld put the details now. In case you still have problem in understanding my requirement pls do tell me.
Madhu
|
|
|
|
|
The only way you can change the ShowFocusCues property is by inheriting the CheckBox control and creating your own CustomControl, which you have already done ('class' in your jargon), since it is a protected property.
You cannot put a check box in a UserControl and achieve that behavior.
Why can't you use a Custom Control ? Do you have any limitations, may be we can workaround those limitations.
|
|
|
|
|
Hi,
Thanx for ur reply. I am very new to VB.Net. So I am not much sure of the advantages and disadvantages of User Control over Class. We have been asked to use User Control in our project but probbaly if it is draw back then I can put this Issue in our next discussion.
Madhu
|
|
|
|
|
As I said earlier, you cannot set the ShowFocusCues property of the CheckBox from the UserControl since it is a protected property.
The only way to do that is to create your own implentation of CheckBox by inheriting from the CheckBox control (which you have already done).
|
|
|
|
|
hi,
try this one:
1. create your UserControl with the CheckBox inner it.
Code of UserControl:
<br />
dim checkBox1 as new CheckBox<br />
this.Controls.Add(checkBox1)<br />
2. in your main Form where the UserControl is the underlaying control, override the KeyPress event.
Code of MainForm:
sub override MainFormKeyPress(byval ...,....)<br />
for each userControl in this.Controls<br />
if userControl is nextUserControl then 'change if clause that is matches with your conditions <br />
<br />
userControl.KeyPress(byval..,...) 'send the parameter coming from above<br />
set nextUserControl = ... 'get the followed usercontrol of that one line above...<br />
<br />
end if<br />
<br />
next<br />
end sub
3. Send the KeyPress event to the UserControl. (UserControl1.KeyPress or like that, if this function doesn't exists create a public function in your UserControl name KeyPressEvent...)
-> step 4 is not required if you make your own KeyPress function.
4. Override the KeyPress event in the UserControl.
5. In your UserControl handle the KeyPressEvent raised from Main Form... to set the focus to the CheckBox.
sub override UserControlKeyPress(byval ...,....)<br />
for each userControl in this.Controls<br />
if arg.Key is Keys.Return then 'change it clause that is matches with your conditions <br />
<br />
checkBox1.Focus<br />
<br />
end if<br />
<br />
next<br />
end sub
6. !!! This is required to have a correct handling of setting the focus to only one CheckBox !!!
-> In your Main Form KeyPress event you need to decide which UserControl has to receive the KeyPress event, if you don't do this all UserControls receive the Event and the last UserControl that handled the event will focus its checkBox...
7. i hope it works as expected
greetz
|
|
|
|
|
Hi,
I have tried the above code but it is not working. The rectangle indicating focus is not coming.
Madhu
|
|
|
|
|
We use reflection to get properties of a type. Here is a class :
namespace Test
{
internal class MyClass
{
public MyClass(){}
}
class MyTest
{
public static int Main(string[] args)
{
Assembly asm = Assembly.GetExecutingAssembly();
Type[] types = asm.GetTypes();
foreach(Type type in types)
Console.WriteLine(String.Concat(type.Name,":\t",type.IsPublic);
}
}
}
"MyClass" is a "intenal" class. However, there seems no property for decide this in Type Class.
Type.IsPublic, Type.IsNestedAssembly ... all these properties seems not work.
Is there any method to take care of this ?
Thanks.
|
|
|
|
|
You need to check if the type object has NestedAssembly as an attribute. NestedAssembly attribute means that a class is accessible within the assembly.
50-50-90 rule: Anytime I have a 50-50 chance of getting something right, there's a 90% probability I'll get it wrong...!!
|
|
|
|
|
"NestedAssembly" means the class is only used in the current assembly.
However, the class is not "Nested" but only "Internal". How to differentiate these two ?
|
|
|
|
|
In that case, just check the IsNotPublic attribute. It should suffice since you cannot define a class as private/protected in a namespace. If that atribute is true, then the class is internal.
50-50-90 rule: Anytime I have a 50-50 chance of getting something right, there's a 90% probability I'll get it wrong...!!
|
|
|
|
|
Hello Everyone,
I am developing a project in VB.Net. I have a form name frmCustomer.vb from which i would be displaying another form named frmAddress.vb when I click a Button present in my frmCustomer.vb. I am being able to display frmAddress.vb form using the SHOW or SHOWDIALOG method but i would like to display the form in such a way that as if looks that the frmAddress.vb form emerges from frmCustomer.vb form. In a nut shell to give some graphics look. How can I do it in VB.Net?
Madhu
|
|
|
|
|
You need to do some experiments with Opacity , Location and Size properties to achieve that effect.
|
|
|
|
|
I think you should set the initial size of the form small. Then, you can handle the Resize event and increase its size in that event till the dimesions you want it to be. I mean if you want the size of form as (100,100), set its initial size as (5,5) and then step that by equal intervals in the resize event till it reaches to (100,100).
Similar thing can be done if you paint the form on your own.
50-50-90 rule: Anytime I have a 50-50 chance of getting something right, there's a 90% probability I'll get it wrong...!!
|
|
|
|
|
Hi,
I have tried the way you have said but it is not giving that effect which I want. I want to show my second form in such a way as if it looks that the second form is emerging from 1st form. Some graphics Transition like look.
Madhu
|
|
|
|
|
I just tried this in the Paint event of the form:
if (this.Height < 300)
this.Height++;
if (this.Width< 300)
this.Width++;
If you need that form should grow in all the directions, you will need to position it as well every time you change the height and width.
50-50-90 rule: Anytime I have a 50-50 chance of getting something right, there's a 90% probability I'll get it wrong...!!
|
|
|
|
|
Hi,
Thanx for ur help.
This is still working but I am not getting the smooth effect (graphics like effect)of the form emerging. MOreover the controls placed in the form are giving a jerking effect.
Madhu
|
|
|
|
|
Try setting double buffered to true.
50-50-90 rule: Anytime I have a 50-50 chance of getting something right, there's a 90% probability I'll get it wrong...!!
|
|
|
|
|
My question was
1) How can I get a large data set from a stored procedure through ADO .NET using a DataAdapter instead of a DataReader?
After several syntactical errors, I found that the I needed to add the parameters to a command, create an adapter from the command, and then a dataset from the adapter.
modified on Thursday, November 26, 2009 7:57 AM
|
|
|
|