次の方法で共有


EditorPartCollection.IndexOf(EditorPart) メソッド

定義

コレクション内の特定のメンバーの位置を返します。

public:
 int IndexOf(System::Web::UI::WebControls::WebParts::EditorPart ^ editorPart);
public int IndexOf (System.Web.UI.WebControls.WebParts.EditorPart editorPart);
member this.IndexOf : System.Web.UI.WebControls.WebParts.EditorPart -> int
Public Function IndexOf (editorPart As EditorPart) As Integer

パラメーター

editorPart
EditorPart

コレクションのメンバーである EditorPart

戻り値

EditorPart コントロールの、コレクション内でのインデックスに対応する整数。

次のコード例では、 メソッドを使用 IndexOf して オブジェクト内のコントロールを検索する EditorPart 方法を EditorPartCollection 示します。 この例を実行するために必要な完全なコードについては、クラスの概要の「例」セクションを EditorPartCollection 参照してください。

イベントのコードは オブジェクトをButton1_ClickEditorPartCollection作成し、 メソッドをIndexOf使用してコレクション内のコントロールをPropertyGridEditorPart1検索し、そのプロパティをChromeType設定します。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  protected void Button1_Click(object sender, EventArgs e)
  {
    ArrayList list = new ArrayList(2);
    list.Add(AppearanceEditorPart1);
    list.Add(PropertyGridEditorPart1);
    // Pass an ICollection object to the constructor.
    EditorPartCollection myParts = new EditorPartCollection(list);
    foreach (EditorPart editor in myParts)
    {
      editor.BackColor = System.Drawing.Color.LightBlue;
      editor.Description = "My " + editor.DisplayTitle + " editor.";
    }

    // Use the IndexOf property to locate an EditorPart control.
    int propertyGridPart = myParts.IndexOf(PropertyGridEditorPart1);
    myParts[propertyGridPart].ChromeType = PartChromeType.TitleOnly;

    // Use the Contains method to see if an EditorPart exists.
    if(!myParts.Contains(LayoutEditorPart1))
      LayoutEditorPart1.BackColor = System.Drawing.Color.LightYellow;
    
    // Use the CopyTo method to create an array of EditorParts.
    EditorPart[] partArray = new EditorPart[3];
    partArray[0] = LayoutEditorPart1;
    myParts.CopyTo(partArray,1);
    Label1.Text = "<h3>EditorParts in Custom Array</h3>";
    foreach (EditorPart ePart in partArray)
    {
      Label1.Text += ePart.Title + "<br />";
    }

  }

</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  Protected Sub Button1_Click(ByVal sender As Object, _
    ByVal e As EventArgs)
    
    Dim list As New ArrayList(2)
    list.Add(AppearanceEditorPart1)
    list.Add(PropertyGridEditorPart1)
    ' Pass an ICollection object to the constructor.
    Dim myParts As New EditorPartCollection(list)
    Dim editor As EditorPart
    For Each editor In myParts
      editor.BackColor = System.Drawing.Color.LightBlue
      editor.Description = "My " + editor.DisplayTitle + " editor."
    Next editor
    
    ' Use the IndexOf property to locate an EditorPart control.
    Dim propertyGridPart As Integer = _
      myParts.IndexOf(PropertyGridEditorPart1)
    myParts(propertyGridPart).ChromeType = PartChromeType.TitleOnly
    
    ' Use the Contains method to see if an EditorPart exists.
    If Not myParts.Contains(LayoutEditorPart1) Then
      LayoutEditorPart1.BackColor = System.Drawing.Color.LightYellow
    End If
    
    ' Use the CopyTo method to create an array of EditorParts.
    Dim partArray(2) As EditorPart
    partArray(0) = LayoutEditorPart1
    myParts.CopyTo(partArray, 1)
    Label1.Text = "<h3>EditorParts in Custom Array</h3>"
    Dim ePart As EditorPart
    For Each ePart In partArray
      Label1.Text += ePart.Title + "<br />"
    Next ePart

  End Sub

</script>

ブラウザーでページを読み込むときに、[表示モード] ドロップダウン リスト コントロールで [編集] を選択して、ページを編集モードに切り替えることができます。 コントロールのタイトル バー TextDisplayWebPart で動詞メニュー (下向き矢印) をクリックし、[ 編集 ] をクリックしてコントロールを編集できます。 編集ユーザー インターフェイス (UI) が表示されている場合は、すべてのコントロールを EditorPart 表示できます。 [ EditorPartCollection の作成 ] ボタンをクリックすると PropertyGridEditorPart1 、ページの下部付近にあるコントロールにタイトルは付けられますが、罫線は表示されません。

注釈

このメソッドは IndexOf 、Web パーツ ページに複数 EditorPart のコントロールがあり、コレクション内の特定のコントロールを検索する必要がある場合に便利です。

適用対象

こちらもご覧ください