|
Apologies for the shouting but this is important.
When answering a question please:
- Read the question carefully
- Understand that English isn't everyone's first language so be lenient of bad spelling and grammar
- If a question is poorly phrased then either ask for clarification, ignore it, or mark it down. Insults are not welcome
- If the question is inappropriate then click the 'vote to remove message' button
Insults, slap-downs and sarcasm aren't welcome. Let's work to help developers, not make them feel stupid..
cheers,
Chris Maunder
The Code Project Co-founder
Microsoft C++ MVP
|
|
|
|
|
For those new to message boards please try to follow a few simple rules when posting your question.- Choose the correct forum for your message. Posting a VB.NET question in the C++ forum will end in tears.
- Be specific! Don't ask "can someone send me the code to create an application that does 'X'. Pinpoint exactly what it is you need help with.
- Keep the subject line brief, but descriptive. eg "File Serialization problem"
- Keep the question as brief as possible. If you have to include code, include the smallest snippet of code you can.
- Be careful when including code that you haven't made a typo. Typing mistakes can become the focal point instead of the actual question you asked.
- Do not remove or empty a message if others have replied. Keep the thread intact and available for others to search and read. If your problem was answered then edit your message and add "[Solved]" to the subject line of the original post, and cast an approval vote to the one or several answers that really helped you.
- If you are posting source code with your question, place it inside <pre></pre> tags. We advise you also check the "Encode "<" (and other HTML) characters when pasting" checkbox before pasting anything inside the PRE block, and make sure "Use HTML in this post" check box is checked.
- Be courteous and DON'T SHOUT. Everyone here helps because they enjoy helping others, not because it's their job.
- Please do not post links to your question into an unrelated forum such as the lounge. It will be deleted. Likewise, do not post the same question in more than one forum.
- Do not be abusive, offensive, inappropriate or harass anyone on the boards. Doing so will get you kicked off and banned. Play nice.
- If you have a school or university assignment, assume that your teacher or lecturer is also reading these forums.
- No advertising or soliciting.
- We reserve the right to move your posts to a more appropriate forum or to delete anything deemed inappropriate or illegal.
cheers,
Chris Maunder
The Code Project Co-founder
Microsoft C++ MVP
|
|
|
|
|
Hi,
I have used several TextBoxes and ComboBoxes in my own project. I want to reset TextBoxes at once by pressing a button. I wrote a simple method as follows:
foreach (var c in Controls)
{
if (c is TextBox)
{
((TextBox)c).Clear();
}
}
When I run the code, nothing happens.
All TextBoxes have their own existing texts.
Please guide me.
modified 21hrs ago.
|
|
|
|
|
The docs say nothing about "Clear" doing anything "visible".
I'd use:
if ( c is TextBox tb ){
tb.Text = "";
}
It was only in wine that he laid down no limit for himself, but he did not allow himself to be confused by it.
― Confucian Analects: Rules of Confucius about his food
|
|
|
|
|
Clear works in both WinForms and WPF.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Never used it. Can't think of a reason either ... particularly since I want the TB to reflect what's in the binding target, and vise versa. I have no idea what Clear does in this case.
It was only in wine that he laid down no limit for himself, but he did not allow himself to be confused by it.
― Confucian Analects: Rules of Confucius about his food
|
|
|
|
|
That will work - on textboxes, it won't touch ComboBoxes - provided they aren't inside any containers: Panel, Splitters, GroupBoxes, and so on. If they are, then you need to recurse though the container.Controls collection as well in order to find them.
It will also only find TextBoxes which are in the current instance of a Form - ones in a different Form or a different instance will not be found and cleared.
But in more recent versions of C#, it's clearer to do this than cast:
private void MyButton_Click(object sender, EventArgs e)
{
foreach (Control c in Controls)
{
if (c is TextBox tb)
{
tb.Clear();
}
}
}
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
It doesn't still make any effect. Finally, I found the issue. I have put those Textboxes in a GroupBox. When the TextBoxes are out of the GroupBox, the code works, but inside the GroupBox it fails.
How can I solve it?
modified 8hrs 20mins ago.
|
|
|
|
|
You need a recursive method that can take a Control as a parameter, clear all the textboxes in that control, then go through all the container controls, calling itself, passing in each one those controls.
|
|
|
|
|
I refer the honorable gentleman to my original reply:
Quote: provided they aren't inside any containers: Panel, Splitters, GroupBoxes, and so on. If they are, then you need to recurse though the container.Controls collection as well in order to find them.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
See my reply on using 'GetType<> below. Call the method on YourGroupBox.Controls ... or any other ContainerControl [^]
«One day it will have to be officially admitted that what we have christened reality is an even greater illusion than the world of dreams.» Salvador Dali
|
|
|
|
|
Normally the answer to your issue is still given ...
Perhaps additional :
What you have to do is :
- iterate throught the Controls-collection of your Form
- if the type of the control is a Textbox then do your work
- if not look if the control has entries in it's own controls-Collection
- if Yes : do the same again - please realize : your can also have a Panel inside a Panel inside a Panel ...
- also : realize that most of the controls could be also ContainerControls with controls in it
Why do the controls inside a Panel (or a GroupBox or a TabView or ...) not directly belong to the Form ? It is because there a some functions of the ConatinerControl which direct effect the cointrols in it - for example : Visible, Enable ...
But what you also can do is :
Create your own customized Control (derive it from the Control which matches most to your issue) and implement the function you need to it - for example : clear all Textboxes inside it ...
|
|
|
|
|
You can use 'OfType<> to select only cerain types of Controls:foreach (var tb in this.Controls.OfType<TextBox>())
{
tb.Clear();
}
«One day it will have to be officially admitted that what we have christened reality is an even greater illusion than the world of dreams.» Salvador Dali
|
|
|
|
|
I was composing a reply to a QA question today [^], and I started thinking about why I made the following assumptions in C#:
1) app scoped global variables are evil
2) defining a static class outside my own/any NameSpace is evil.
Given the strongly-typed/OOP gestalt of C#, why did its designers allow something like this:// top-level 'using statements ...
public static class Constants
{
public const double PI = Math.PI;
public static double E { set; get; } = Math.E;
}
namespace WhatEver
{} Opinions ?
«One day it will have to be officially admitted that what we have christened reality is an even greater illusion than the world of dreams.» Salvador Dali
|
|
|
|
|
It doesn't have to be a static class, any class can be defined outside all namespaces, in which case it's part of the default namespace: namespace keyword - C# Reference | Microsoft Docs[^]
Quote: Whether or not you explicitly declare a namespace in a C# source file, the compiler adds a default namespace. This unnamed namespace, sometimes referred to as the global namespace, is present in every file. Any identifier in the global namespace is available for use in a named namespace.
Why? You'd probably have to ask the language authors ...
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
OriginalGriff wrote: Why? You'd probably have to ask the language authors I would ask Mads T. if I could
But, meanwhile, I am asking for opinions, or responses, from people here, like your keenly intelligent self.
Would you ever define a Class in the "default" NameSpace ?
cheers, Bill
«One day it will have to be officially admitted that what we have christened reality is an even greater illusion than the world of dreams.» Salvador Dali
|
|
|
|
|
Only in web sites, where it seems to be the "done thing" for some reason - the default files created for a C# web project don't include any namespaces.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
BillWoodruff wrote: I would ask Mads T. if I could
You could always try asking him on Twitter: @MadsTorgersen[^]
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
I have 12 sets of dll for multi purpose, when I deploy the particular dll and I get this error. Please help me on this!. Mine is a C# code
|
|
|
|
|
|
This is not a good question - we cannot work out from that little what you are trying to do.
Remember that we can't see your screen, access your HDD, or read your mind - we only get exactly what you type to work with.
How do you expect us to work out what method is missing from code we can't see, given a return type only, and with no idea what your "12 sets of dll" actually are, or how you deployed tham?
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
You'd have to show the whole error. But basically it's telling you that it cannot find some code that you are trying to call.
|
|
|
|
|
|
|
Hi,
I am currently working on SHA256withRSA algorithm in Window Fomrs, C#. My main objective is to get signed signature of my encrypted SHA256withRSA string with my Custom Private Key String which I generated from an online tool. In order to do that, I came to know that it happens via RSACryptoServiceProvider . Now in order to complete my sign operation I have to get the RSAParameters of my private key. And when I trying it the only part that I am getting is Modulus and Exponent part of the string. But I want to extract all of the components (P, Q, DP, DQ, InverseQ, D).
So where I am stuck unable to do it for quite some time. this is my first time working with this encryption stuff. And not sure if I am following the right convention.
Thanks
|
|
|
|