|
Well imagine that just opened form2 form form1 and form1 needs to change its check box to be checked because you just opened form2. So then it will check form1's check box because you just opened form2. I hope this was a good example
|
|
|
|
|
Make public your control timeToolStripMenuItem on Form1 and access it from Form2 e.g:
Form2.timeToolStripMenuItem.Checked=false;
I Love T-SQL
"Don't torture yourself,let the life to do it for you."
If my post helps you kindly save my time by voting my post.
www.aktualiteti.com
|
|
|
|
|
|
That's not a good approach (I mean "best practices" state that all fields should be static).
You have two approaches:
1. Create public property in form1 that exposes your checkbox as readonly:
public CheckBox CheckboxPublicName
{
get
{
return this.timeToolStripMenuItem;
}
}
And in form2 you can do form1.CheckboxPublicName.Checked = true;
2. This one is (I think) better. You expose property, that provides access to "checked status" of the checkbox
public bool SomeName
{
get
{
return this.timeToolStripMenuItem.Checked;
}
set
{
this.timeToolStripMenuItem.Checked = value;
}
}
And you only have to set this property to true/false.
Don't forget to rate answer, that helped you. It will allow other people find their answers faster.
|
|
|
|
|
ok but you forget, this needs to be done in
<br />
if (e.KeyData == Keys.Escape)<br />
{<br />
<br />
}
|
|
|
|
|
What is "e"? What event handler is your code from?
Don't forget to rate answer, that helped you. It will allow other people find their answers faster.
|
|
|
|
|
It helps make the keydown possible
|
|
|
|
|
Can you paste entire method here?
Don't forget to rate answer, that helped you. It will allow other people find their answers faster.
|
|
|
|
|
private void Time_KeyDown(object sender, KeyEventArgs e)<br />
{<br />
if (e.KeyData == Keys.Escape)<br />
{<br />
this.Visible = false;<br />
Form1.timeToolStripMenuItem.Checked = false;<br />
}<br />
}
|
|
|
|
|
So, what is the problem with implementing solution I gave you before? You're saying I'm forgetting about part, where you check if escape was pressed. What does it have to do? You have your if inside of which you set checkbox checked status. Replace this with a call to the property I adviced to create and everything should be working.
Don't forget to rate answer, that helped you. It will allow other people find their answers faster.
|
|
|
|
|
Well I get this error
<br />
Error 1 Expected class, delegate, enum, interface, or struct C:\Users\Kyle\documents\visual studio 2010\Projects\Gadgets\Gadgets\Form1.cs 19 12 Gadgets<br />
|
|
|
|
|
In which line you're getting this error?
Don't forget to rate answer, that helped you. It will allow other people find their answers faster.
|
|
|
|
|
|
What is the code in this line?
Don't forget to rate answer, that helped you. It will allow other people find their answers faster.
|
|
|
|
|
Form1.timeToolStripMenuItem.Checked = false;
|
|
|
|
|
OK
If you added CheckboxPublicName property from my previous post, you have to replace this line with Form1.CheckboxPublicName.Checked = false.
If you added SomeName property from my previous post, you have to replace this line with Form1.SomeName = false.
And also: I assume that Form1 you're using is instance of the form you want to change, not the type of the form. If it is, you have to get instance of the Form1 you want to modify.
Don't forget to rate answer, that helped you. It will allow other people find their answers faster.
|
|
|
|
|
I get this error on form1 on the bool
<br />
Error 1 Expected class, delegate, enum, interface, or struct C:\Users\Kyle\documents\visual studio 2010\Projects\Gadgets\Gadgets\Form1.cs 19 12 Gadgets<br />
|
|
|
|
|
Form1 is a class name. You need the instance name of form one which likely does not exists since Form1 is the autogenerated form.
|
|
|
|
|
Can you write this up in code form please so it makes more sense
|
|
|
|
|
WHAT THE FUCK!
Do you really expect anyone to know what code is on line 130?
Do you really think "130" is a magic number that tells us "oh, you just forgot to garble the bargle"?
WHAT THE FUCK!
|
|
|
|
|
He asked what line it was on
|
|
|
|
|
You are still allowed - expected, even - to understand why someone asks a question, and how this information is needed, so that you can learn how such a problem is solved.
You do want to learn that, don't you?
|
|
|
|
|
in
public CheckBox CheckboxPublicName<br />
{<br />
get<br />
{<br />
return this.timeToolStripMenuItem;<br />
}<br />
}
Checkbox is an error and this is what i get
<br />
Error 1 An object reference is required for the non-static field, method, or property 'Gadgets.Form1.timeToolStripMenuItem' C:\Users\Kyle\documents\visual studio 2010\Projects\Gadgets\Gadgets\Time.cs 130 17 Gadgets
|
|
|
|
|
See this tip[^].
DaveIf this helped, please vote & accept answer!
Binging is like googling, it just feels dirtier.
Please take your VB.NET out of our nice case sensitive forum.(Pete O'Hanlon)
BTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)
|
|
|
|
|
While the code snippet isn't clear at all, having one Form influence/use something that resides in another Form is a common need, and there are some perfect solutions, all object-oriented. The keywords static and public are not the key to a solution, Dave's tip is.
systemerror121 wrote: without opening a new form?
The short answer is: there isn't a single proper way that does involve a new Form1, since any new Form1 will be different (similar but not identical) to the one you really want.
|
|
|
|