1. Why is this so? And thus, how do I group the radio buttons? Do I
explicitly have to use GroupBox or Panel or something alike? Or is there
some kind of GroupName-Property I can use (I cannot find one)? I also tried
using Controls.AddRadioButton(myRange, myRadioButtonName) dynamically, but
this lead to the same problem.
2. Assuming I indeed have to use some kind of GroupBox, the radio buttons
seem to be positioned according to the GroupBox itself. But I do not want
GroupBox to define their position but the cells into which I originally
positioned the radio buttons. Is there a way to do this?
Thanks for your help.
http://www.functionx.com/excel/articles/radiobuttons.htm
regards
FSt1
"Fabz" wrote:
> .
>
There is a GroupName property to group option buttons together. I'm not
that familiar with VSTO, but when assigning the property by code in VBA this
works:
Sheet1.OptionButton1.GroupName = "GroupA1"
Hopefully his helps a bit.
Thank you for posting this url (although the images did not load for
me :-( )
I have been looking for a tutorial on radio buttons and hadn't found
anything good yet and I want to learn more about them now that I have
a situation where I can use them. If anyone has any other good sites
on radio buttons please post.
John Keith
kd...@juno.com
However, finally I got a working example:
// 1. Make new GroupBox instance
GroupBox myGroupBox = new GroupBox();
// 2. Add radio buttons
myGroupBox.Controls.Add(radioButton1);
myGroupBox.Controls.Add(radioButton2); // etc.
// 3. Position radio buttons in relation to the GroupBox
myGroupBox.Controls[1].Left = targetDataRadioButtons.Controls[0].Right + 10;
// Position the group box inside cells [row: 3, col: 2] and [row: 3, col: 8]
Excel.Range left = (Excel.Range)Cells[3, 2];
Excel.Range right = (Excel.Range)Cells[3, 8];
// 4. IMPORTANT: Add the GroupBox to this sheet's collection of Controls!
Controls.AddControl(myGroupBox, Range[left, right], "foo");
What is weird also is the 3rd point. To position the radio buttons, I have
to do as stated. When trying to position the radio buttons themselves, this
does not work:
// Works:
myGroupBox.Controls[1].Left = targetDataRadioButtons.Controls[0].Right + 20;
// Does not work:
radioButton2.Left = radioButton1.Right + 20;
Don't know whether there is a good solution to this problem.
Greetz
Fabz
"John Keith" <kd...@juno.com> wrote in message
news:92p6o55405fotlmo4...@4ax.com...
// 1. Make new GroupBox instance
GroupBox myGroupBox = new GroupBox();
// 2. Add radio buttons
myGroupBox.Controls.Add(radioButton1);
myGroupBox.Controls.Add(radioButton2); // etc.
// 3. Position radio buttons in relation to the GroupBox
myGroupBox.Controls[1].Left = myGroupBox.Controls[0].Right + 10;
// Position the group box inside cells [row: 3, col: 2] and [row: 3, col: 8]
Excel.Range left = (Excel.Range)Cells[3, 2];
Excel.Range right = (Excel.Range)Cells[3, 8];
// 4. IMPORTANT: Add the GroupBox to this sheet's collection of Controls!
Controls.AddControl(myGroupBox, Range[left, right], "foo");
And thus also:
// Works:
myGroupBox.Controls[1].Left = myGroupBox.Controls[0].Right + 20;
// Does not work:
radioButton2.Left = radioButton1.Right + 20;
Greetz
Fabz
"Fabz" <fc...@gmx.ch> wrote in message
news:Oke9XeGt...@TK2MSFTNGP02.phx.gbl...
Maybe it's up to the programmer to turn all other RadioButtons off when one
is turned on (probably some other way though).
Perhaps you could use Excel's built in ActiveX OptionButton for your needs
(can add manually or programmatically). These have a GroupName property,
which by default is the sheet name at the time the control was added. Your
ComAddin should be able to trap all the control's events in the same way it
might trap any other Excel events.
Regards,
Peter T
"Fabz" <fc...@gmx.ch> wrote in message
news:uoWfX49s...@TK2MSFTNGP02.phx.gbl...