He @sskv,
First you don't have to use a If() formula at all, this because you're condition is true or false by default.
If it should be possible to show all the forms at once then radio button could be the way to go. Then you just use the formula:
RadioButton.Selected.Value = ''
If you want it to show on a combination you just do:
RadioButton1.Selected.Value = '' || RadioButton2.Selected.Value = ''
If you want it to be visible on false then add the not parameter like:
!(RadioButton.Selected.Value = '')
If only one screen should be visible at a time then get rid off the radio buttons and add a button (or Icon or Image control with a nice icon from PowerPoint for example) for each forms. Here you use a number variable. Formula():
UpdateContext({Scr_Show:1})On the second and third button you use 2 and 3. Then on the screens.visible property you use:
Scr_show = 1
On the second and third button you use 2 and 3 again.
If you want to show one off the screens at start then use in and add Blank(). With this you don't have to set you're variable at .Start/.OnVisible. This goes like:
Scr_show in [Blank(), 1]
I posted several video's on YouTube which explains the logic behind this approach, you can see them here YouTube Learn PowerApps. Start at video 14 till 19. This will basically teach you how to build a 30 screen app in just one screen and control the visibility off groups/controls with a few variables.
Btw, a nice effect is to set the buttons color/fill referenced to the header. Then use a if() formula to check on the Scr_show variable and set the color/fill to the opposite for the true and false result. Your button then stands out when it is selected. Formula is like:
If(Scr_Show = 1, Header.Fill, Header.Color) // on the first button
If(Scr_Show = 2, Header.Fill, Header.Color) // on the second button
If(Scr_Show = 3, Header.Fill, Header.Color) // on the third button
His would be for the .Color attribute off the button. So for the .Fill you turn the true and false parts around.
Hope this helps.
Greatings Paul