using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class ChangeDisplayMode : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
       if (!IsPostBack)
       {
          // przejdź przez wszystkie obsługiwane tryby wyświetlania
          foreach (WebPartDisplayMode mode in
             partManager.SupportedDisplayModes)
          {
             // pokaż tryb wyświetlania tylko wtedy, gdy jest dostępny dla bieżącego użytkownika
             if (mode.IsEnabled(partManager))
             {
                // utwórz element listy i dodaj go do niej
                ListItem item = new ListItem(mode.Name);

                // jeśli ten element jest zgodny z bieżącym trybem wyświetlania,
                // oznacz go jako element wybrany
                if (mode == partManager.DisplayMode)
                   item.Selected = true;

                drpWebPartMode.Items.Add(item);
             }
          }
       }
    }

   protected void drpWebPartMode_SelectedIndexChanged(object sender,
      EventArgs e)
   {
      // pobierz wybór użytkownika
      string mode = drpWebPartMode.SelectedValue;

      // pobierz odpowiedni dla tego trybu obiekt klasy WebPartDisplayMode
      WebPartDisplayMode display = partManager.SupportedDisplayModes[mode];

      // przełącz tryb wyświetlania, jeśli jest on dostępny
      if (display != null && display.IsEnabled(partManager))
         partManager.DisplayMode = display;
   }

}
