To reproduce: 1. Add a RadPageView with several pages. 2. Disabled some of the pages. 3. When running the application, try to navigate through pages with the arrow keys. You will notice that the disabled pages are also selected. Workaround: public class CustomPageView : RadPageView { public override string ThemeClassName { get { return typeof(RadPageView).FullName; } } protected override RadPageViewElement CreateUI() { if (this.ViewMode == PageViewMode.Strip) { return new CustomViewElement(); } return base.CreateUI(); } } public class CustomViewElement : RadPageViewStripElement { protected override Type ThemeEffectiveType { get { return typeof(RadPageViewStripElement); } } protected override bool CanSelectItem(RadPageViewItem item) { bool result= base.CanSelectItem(item); return result && item.Enabled; } }
To reproduce: for (int i = 0; i < 20; i++) { this.radPageView1.Pages.Add(new RadPageViewPage("Page" + i)); } this.radPageView1.ViewMode = PageViewMode.Backstage; Only a few of the pages are visible and the user is not allowed to scroll to see the rest of them. Workaround: 1. Make use of the strip buttons: RadPageViewBackstageElement el = this.radPageView1.ViewElement as RadPageViewBackstageElement; el.ItemContainer.ButtonsPanel.Visibility = ElementVisibility.Visible; 2. Place the control in RadScrollablePanel RadScrollablePanel scrollablePanel = new RadScrollablePanel(); scrollablePanel.Dock = DockStyle.Fill; this.Controls.Add(scrollablePanel); RadPageView pageView = new RadPageView(); pageView.ViewMode = PageViewMode.Backstage; scrollablePanel.Controls.Add(pageView); for (int i = 0; i < 50; i++) { pageView.Pages.Add(new RadPageViewPage("Page " + i.ToString())); } pageView.Size = new System.Drawing.Size(1000,2500);
To reproduce: use the following code snippet: public RadForm1() { InitializeComponent(); this.radPageView1.Pages.Add(new RadPageViewPage("My page")); RadPageViewStripElement stripElement = this.radPageView1.ViewElement as RadPageViewStripElement; stripElement.StripButtons = StripViewButtons.ItemList; this.radPageView1.ItemListMenuDisplaying += radPageView1_ItemListMenuDisplaying; } private void radPageView1_ItemListMenuDisplaying(object sender, RadPageViewMenuDisplayingEventArgs e) { e.Items.Clear(); RadMenuItem item = new RadMenuItem("aaa"); e.Items.Add(item); } Click the overflow button to open the drop down and select the item. When you open the overflow popup again you will notice that the item is duplicated although you clear the items in the ItemListMenuDisplaying event. Workaround: dispose the item when it is clicked private void radPageView1_ItemListMenuDisplaying(object sender, RadPageViewMenuDisplayingEventArgs e) { e.Items.Clear(); RadMenuItem item = new RadMenuItem("aaa"); item.Click += item_Click; e.Items.Add(item); } private void item_Click(object sender, EventArgs e) { RadMenuItem item = sender as RadMenuItem; if (item != null) { item.Click -= item_Click; item.Dispose(); } }
How to reproduce: check the attached project: Workaround: when the form is opened in the designer make sure that all pages are made visible at least ones so the controls are initialized, before attempting to access collection editors via properties window
Steps to reproduce: 1. Set the main screen on 125-percent scale 2. Run attached sample application (1107416 RadPageView Issue.zip). 3. Click menu item "ShowPageView". After showing the page view in a DocumentWindow, the SelectedPageChanging/SelectedPageChanged events are fired twice. Workaround: Replace RadPageView with custom one: public class CustomPageView : RadPageView { protected override void ScaleControl(SizeF factor, BoundsSpecified specified) { this.SuspendEvents(); base.ScaleControl(factor, specified); this.ResumeEvents(); } }
To reproduce: please refer to the attached sample project and follow the illustarted steps in the attached gif file.
Workaround: this.radPageViewPage1.Item.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAliasGridFit;
To reproduce: please follow the steps illustrated in the attached gif file. Workaround: add pages as follows: Click the Smart Tag of RadPageView and then click the Add Page link five times. Additional information how to get started with RadPageView is available in the following help article: https://docs.telerik.com/devtools/winforms/pageview/stripview/getting-started
To reproduce: - Open attached project and add a lot of pages. - Close all pages - The GDI object count increases. Workaround: GC.Collect(); GC.WaitForPendingFinalizers(); GC.WaitForFullGCApproach(); GC.WaitForFullGCComplete(); GC.Collect();
When you have RadPageView within a RadDock only the selected page is visible and its content is shown. When you select another page it is blank.
Workaround:
For Each page As RadPageViewPage In Me.rpvMain.PagesA possible workaround here is to make the panel parent of the buttons visible.
RadPageViewStripElement element = this.radPageView1.ViewElement as RadPageViewStripElement;
element.ItemContainer.ButtonsPanel.DrawFill = true;
element.ItemContainer.ButtonsPanel.NumberOfColors = 1;
I have created a RadForm in a sample winforms project and dropped a RadPageView control on the form. Then created three pages and dropped a user control on the page 1 and page 2. Now when I navigate to page 3 from page and page 2 then Visual Studio gets not responding and crashes later.
I am recently downloaded the trial version of Telerik Winforms(2024.2.514) and found this issue with User controls. Previous versions also have same issue.
Recording of the issue as well as sample project is attached.
When you try to programmatically select a page in the Form_Load of the Form that holds RadPageView, the page becomes selected, but the content that is shown for the page is not correct.
One is not able to change the size of the buttons in the buttons panel of RadPageViewPage item. As a result you can get only square buttons.
One can't set the image scaling of the pages' tabs. For example if you have a big image and you want to scale it down to a size of 10x10, you will not be able to do so.
If you have a RadPageView in Strip mode with the DropDown button for the overflow menu and you double-click that button, you get a menu which lists the PageView items twice.
1. Create a new project with RadPageView. 2. Add two buttons. 3. On first button click add 100 pages. 4. On second button click remove these pages by calling the Clear method of the Pages collection. 5. Run the project and press these buttons several times.
1. Add RadPageView to a form 2. In the code behind, after InitializeComponent set the ViewMode to ExplorerBar 3. Subscribe to the ItemCreating event of the control 4. Create three RadPageViewPages and add them to the control 5. Run the application
Additionally, using the EnsureItemVisible of the ViewElement in Form.Load or Form.Shown does not bring the item into view also. To reproduce: 1. Create a form with page view (size 250,250). 2. Add 10 pages and keep the last one selected 3. On Form.Load or Form.Shown set the selected page to the first page => the page is selected but the last tab is visible instead of the first one.