IResourceServiceとは? わかりやすく解説

IResourceService インターフェイス

デザイナが、特定の CultureInfo のリソース種類対すリソース リーダーリソース ライタアクセスするためのインターフェイス提供します

名前空間: System.ComponentModel.Design
アセンブリ: System (system.dll 内)
構文構文

Public Interface IResourceService
Dim instance As IResourceService
public interface IResourceService
public interface class IResourceService
public interface IResourceService
public interface IResourceService
解説解説
使用例使用例

IResourceService使用してリソース ファイルからの読み込みリソース ファイルへの書き込み行い関連するコントロールプロパティ設定するデザイナの例を次に示します

Imports System
Imports System.Collections
Imports System.ComponentModel
Imports System.ComponentModel.Design
Imports System.Drawing
Imports System.Globalization
Imports System.Resources
Imports System.Windows.Forms
Imports System.Windows.Forms.Design

Namespace IResourceServiceExample

    ' Associates the ResourceTestControlDesigner with the 
    ' ResourceTestControl class.
    <Designer(GetType(ResourceTestControlDesigner))> _
    Public Class ResourceTestControl
        Inherits System.Windows.Forms.UserControl
        ' Initializes a string array used to store strings that this
 control displays.
        Public resource_strings() As String
 = {"Initial Default String #1", "Initial
 Default String #2"}

        Public Sub New()
            Me.BackColor = Color.White
            Me.Size = New Size(408, 160)
        End Sub

        ' Draws the strings contained in the string array.
        Protected Overrides Sub
 OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
            e.Graphics.DrawString("IResourceService Example Designer
 Control", New Font(FontFamily.GenericMonospace,
 10), New SolidBrush(Color.Blue), 2, 2)
            e.Graphics.DrawString("String list:  (use shortcut
 menu in design mode)", New Font(FontFamily.GenericMonospace,
 8), New SolidBrush(Color.Black), 2, 20)

            Dim i As Integer
            For i = 0 To resource_strings.Length
 - 1
                e.Graphics.DrawString(resource_strings(i), New
 Font(FontFamily.GenericMonospace, 8), New SolidBrush(Color.SeaGreen),
 2, 38 + (i * 18))
            Next i
        End Sub
    End Class
    _

    ' This designer offers several menu commands for the 
    ' shortcut menu for the associated control.
    ' These commands can be used to reset the control's string 
    ' list, to generate a default resources file, or to load the string
 
    ' list for the control from the default resources file.
    Public Class ResourceTestControlDesigner
        Inherits System.Windows.Forms.Design.ControlDesigner

        Public Sub New()
        End Sub 

        Public Overrides ReadOnly
 Property Verbs() As System.ComponentModel.Design.DesignerVerbCollection
            Get
                ' Creates a collection of designer verb menu commands
 
                ' that link to event handlers in this designer.    
        
                Return New DesignerVerbCollection(New
 DesignerVerb() { _
                    New DesignerVerb("Load
 Strings From Default Resources File", AddressOf
 Me.LoadResources), _
                    New DesignerVerb("Create
 Default Resources File", AddressOf Me.CreateResources),
 _
                    New DesignerVerb("Clear
 ResourceTestControl String List", AddressOf Me.ClearStrings)})
            End Get
        End Property

        ' Sets the string list for the control to the strings 
        ' loaded from a resource file.
        Private Sub LoadResources(ByVal
 sender As Object, ByVal
 e As EventArgs)
            Dim rs As IResourceService = CType(Me.Component.Site.GetService(GetType(IResourceService)),
 IResourceService)
            If rs Is Nothing
 Then
                Throw New Exception("Could
 not obtain IResourceService.")
            End If
            Dim rr As IResourceReader = rs.GetResourceReader(CultureInfo.CurrentUICulture)
            If rr Is Nothing
 Then
                Throw New Exception("Resource
 file could not be obtained. You may need to create one first.")
            End If
            Dim de As IDictionaryEnumerator
 = rr.GetEnumerator()

            If Me.Control.GetType() Is
 GetType(ResourceTestControl) Then
                Dim rtc As ResourceTestControl
 = CType(Me.Control, ResourceTestControl)
                Dim s1, s2, s3 As String
                de.MoveNext()
                s1 = CStr(CType(de.Current, DictionaryEntry).Value)
                de.MoveNext()
                s2 = CStr(CType(de.Current, DictionaryEntry).Value)
                de.MoveNext()
                s3 = CStr(CType(de.Current, DictionaryEntry).Value)
                de.MoveNext()
                rtc.resource_strings = New String()
 {s1, s2, s3}
                Me.Control.Refresh()
            End If
        End Sub

        ' Creates a default resource file for the current 
        ' CultureInfo and adds 3 strings to it.
        Private Sub CreateResources(ByVal
 sender As Object, ByVal
 e As EventArgs)
            Dim rs As IResourceService = CType(Me.Component.Site.GetService(GetType(IResourceService)),
 IResourceService)
            If rs Is Nothing
 Then
                Throw New Exception("Could
 not obtain IResourceService.")
            End If
            Dim rw As IResourceWriter = rs.GetResourceWriter(CultureInfo.CurrentUICulture)
            rw.AddResource("string1", "Persisted
 resource string #1")
            rw.AddResource("string2", "Persisted
 resource string #2")
            rw.AddResource("string3", "Persisted
 resource string #3")
            rw.Generate()
            rw.Close()
        End Sub   

        ' Clears the string list of the associated ResourceTestControl.
        Private Sub ClearStrings(ByVal
 sender As Object, ByVal
 e As EventArgs)
            If Me.Control.GetType() Is
 GetType(ResourceTestControl) Then
                Dim rtc As ResourceTestControl
 = CType(Me.Control, ResourceTestControl)
                rtc.resource_strings = New String()
 {"Test String #1", "Test String
 #2"}
                Me.Control.Refresh()
            End If
        End Sub 
    End Class 
End Namespace 
using System;
using System.Collections;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Drawing;
using System.Globalization;
using System.Resources;
using System.Windows.Forms;
using System.Windows.Forms.Design;

namespace IResourceServiceExample
{
    // Associates the ResourceTestControlDesigner with the 
    // ResourceTestControl class.
    [Designer(typeof(ResourceTestControlDesigner))]
    public class ResourceTestControl : System.Windows.Forms.UserControl
    {
        // Initializes a string array used to store strings that 
        // this control displays.
        public string[] resource_strings =
 new string[] { "Initial Default String
 #1", "Initial Default String #2" };

        public ResourceTestControl()
        {
            this.BackColor = Color.White;
            this.Size = new Size(408, 160);
        }

        // Draws the strings contained in the string array.
        protected override void OnPaint(System.Windows.Forms.PaintEventArgs
 e)
        {
            e.Graphics.DrawString("IResourceService Example Designer Control",
 new Font(FontFamily.GenericMonospace, 10), new
 SolidBrush(Color.Blue), 2, 2);
            e.Graphics.DrawString("String list:  (use shortcut menu in
 design mode)", new Font(FontFamily.GenericMonospace, 8),
 new SolidBrush(Color.Black), 2, 20);
            
            for(int i=0; i<resource_strings.Length;
 i++)
            {
                e.Graphics.DrawString(resource_strings[i], new
 Font(FontFamily.GenericMonospace, 8), new SolidBrush(Color.SeaGreen),
 2, 38+(i*18));
            }
        }
    }

    // This designer offers several menu commands for the 
    // shortcut menu for the associated control.
    // These commands can be used to reset the control's string 
    // list, to generate a default resources file, or to load the string
 
    // list for the control from the default resources file.
    public class ResourceTestControlDesigner
 : System.Windows.Forms.Design.ControlDesigner
    {
        public ResourceTestControlDesigner()
        {}

        public override System.ComponentModel.Design.DesignerVerbCollection
 Verbs
        {
            get
            {
                // Creates a collection of designer verb menu commands
 
                // that link to event handlers in this designer.
                return new DesignerVerbCollection(
 new DesignerVerb[] { 
                    new DesignerVerb("Load Strings from Default
 Resources File", new EventHandler(this.LoadResources))
,
                    new DesignerVerb("Create Default Resources
 File", new EventHandler(this.CreateResources))
,
                    new DesignerVerb("Clear ResourceTestControl
 String List", new EventHandler(this.ClearStrings))
 });
            }
        }

        // Sets the string list for the control to the strings 
        // loaded from a resource file.
        private void LoadResources(object sender,
 EventArgs e)
        {
            IResourceService rs = (IResourceService)this.Component.Site.GetService(typeof(IResourceService));
            if( rs == null )
                throw new Exception("Could not obtain IResourceService.");

            IResourceReader rr = rs.GetResourceReader(CultureInfo.CurrentUICulture);
            if( rr == null )
                throw new Exception("Resource file could
 not be obtained. You may need to create one first.");

            IDictionaryEnumerator de = rr.GetEnumerator();
            
            if(this.Control.GetType() == typeof(ResourceTestControl))
            {
                ResourceTestControl rtc = (ResourceTestControl)this.Control;
                string s1, s2, s3;        
                de.MoveNext();        
                s1 = (string)((DictionaryEntry)de.Current).Value;
                de.MoveNext();
                s2 = (string)((DictionaryEntry)de.Current).Value;
                de.MoveNext();
                s3 = (string)((DictionaryEntry)de.Current).Value;
                de.MoveNext();
                rtc.resource_strings = new string[]
 {s1, s2, s3};
                this.Control.Refresh();
            }
            
        }

        // Creates a default resource file for the current 
        // CultureInfo and adds 3 strings to it.
        private void CreateResources(object
 sender, EventArgs e)
        {
            IResourceService rs = (IResourceService)this.Component.Site.GetService(typeof(IResourceService));
            if( rs == null )
                throw new Exception("Could not obtain IResourceService.");

            IResourceWriter rw = rs.GetResourceWriter(CultureInfo.CurrentUICulture);
            rw.AddResource("string1", "Persisted resource string
 #1");
            rw.AddResource("string2", "Persisted resource string
 #2");
            rw.AddResource("string3", "Persisted resource string
 #3");
            rw.Generate();
            rw.Close();
        }

        // Clears the string list of the associated ResourceTestControl.
        private void ClearStrings(object sender,
 EventArgs e)
        {
            if(this.Control.GetType() == typeof(ResourceTestControl))
            {
                ResourceTestControl rtc = (ResourceTestControl)this.Control;
                rtc.resource_strings = new string[]
 { "Test String #1", "Test String #2" };
                this.Control.Refresh();
            }
        }
    }
}
#using <System.Windows.Forms.dll>
#using <System.Drawing.dll>
#using <System.Design.dll>
#using <System.dll>

using namespace System;
using namespace System::Collections;
using namespace System::ComponentModel;
using namespace System::ComponentModel::Design;
using namespace System::Drawing;
using namespace System::Globalization;
using namespace System::Resources;
using namespace System::Windows::Forms;
using namespace System::Windows::Forms::Design;
ref class ResourceTestControlDesigner;

// Associates the ResourceTestControlDesigner with the
// ResourceTestControl class.

[Designer(ResourceTestControlDesigner::typeid)]
public ref class ResourceTestControl: public
 System::Windows::Forms::UserControl
{
public:

   // Initializes a string array used to store strings that
   // this control displays.
   array<String^>^resource_strings;
   ResourceTestControl()
   {
      array<String^>^temp = {"Initial Default String #1","Initial
 Default String #2"};
      resource_strings = temp;
      this->BackColor = Color::White;
      this->Size = System::Drawing::Size( 408, 160 );
   }

protected:

   // Draws the strings contained in the string array.
   virtual void OnPaint( System::Windows::Forms::PaintEventArgs^
 e ) override
   {
      e->Graphics->DrawString( "IResourceService Example Designer Control",
 gcnew System::Drawing::Font( FontFamily::GenericMonospace,10 ), gcnew SolidBrush(
 Color::Blue ), 2, 2 );
      e->Graphics->DrawString( "String list:  (use shortcut menu in
 design mode)", gcnew System::Drawing::Font( FontFamily::GenericMonospace,8
 ), gcnew SolidBrush( Color::Black ), 2, 20 );
      for ( int i = 0; i < resource_strings->Length;
 i++ )
      {
         e->Graphics->DrawString( resource_strings[ i ], gcnew System::Drawing::Font(
 FontFamily::GenericMonospace,8 ), gcnew SolidBrush( Color::SeaGreen ), 2.f, 38.f
 + (i * 18) );

      }
   }

};

// This designer offers several menu commands for the
// shortcut menu for the associated control.
// These commands can be used to reset the control's string
// list, to generate a default resources file, or to load the string
// list for the control from the default resources file.
public ref class ResourceTestControlDesigner:
 public System::Windows::Forms::Design::ControlDesigner
{
public:
   ResourceTestControlDesigner(){}

   property System::ComponentModel::Design::DesignerVerbCollection^ Verbs 
   {
      virtual System::ComponentModel::Design::DesignerVerbCollection^ get()
 override
      {
         // Creates a collection of designer verb menu commands
         // that link to event handlers in this designer.
         array<DesignerVerb^>^temp0 = {gcnew DesignerVerb( "Load Strings
 from Default Resources File",gcnew EventHandler( this,
 &ResourceTestControlDesigner::LoadResources ) ),gcnew DesignerVerb( "Create Default Resources File",gcnew EventHandler( this, &ResourceTestControlDesigner::CreateResources
 ) ),gcnew DesignerVerb( "Clear ResourceTestControl String List",gcnew EventHandler( this, &ResourceTestControlDesigner::ClearStrings ) )};
         return gcnew DesignerVerbCollection( temp0 );
      }
   }

private:

   // Sets the string list for the control to the strings
   // loaded from a resource file.
   void LoadResources( Object^ /*sender*/, EventArgs^ /*e*/ )
   {
      IResourceService^ rs = dynamic_cast<IResourceService^>(this->Component->Site->GetService(
 IResourceService::typeid ));
      if ( rs == nullptr )
            throw gcnew System::Exception( "Could not obtain IResourceService."
 );

      IResourceReader^ rr = rs->GetResourceReader( CultureInfo::CurrentUICulture
 );
      if ( rr == nullptr )
            throw gcnew System::Exception( "Resource file could not be obtained.
 You may need to create one first." );

      IDictionaryEnumerator^ de = rr->GetEnumerator();
      if ( this->Control->GetType() ==
 ResourceTestControl::typeid )
      {
         ResourceTestControl^ rtc = dynamic_cast<ResourceTestControl^>(this->Control);
         String^ s1;
         String^ s2;
         String^ s3;
         de->MoveNext();
         s1 = dynamic_cast<String^>(( *dynamic_cast<DictionaryEntry^>(de->Current)).Value);
         de->MoveNext();
         s2 = dynamic_cast<String^>(( *dynamic_cast<DictionaryEntry^>(de->Current)).Value);
         de->MoveNext();
         s3 = dynamic_cast<String^>(( *dynamic_cast<DictionaryEntry^>(de->Current)).Value);
         de->MoveNext();
         array<String^>^temp = {s1,s2,s3};
         rtc->resource_strings = temp;
         this->Control->Refresh();
      }
   }

   // Creates a default resource file for the current
   // CultureInfo and adds 3 strings to it.
   void CreateResources( Object^ /*sender*/, EventArgs^ /*e*/
 )
   {
      IResourceService^ rs = dynamic_cast<IResourceService^>(this->Component->Site->GetService(
 IResourceService::typeid ));
      if ( rs == nullptr )
            throw gcnew System::Exception( "Could not obtain IResourceService."
 );

      IResourceWriter^ rw = rs->GetResourceWriter( CultureInfo::CurrentUICulture
 );
      rw->AddResource( "string1", "Persisted resource string
 #1" );
      rw->AddResource( "string2", "Persisted resource string
 #2" );
      rw->AddResource( "string3", "Persisted resource string
 #3" );
      rw->Generate();
      rw->Close();
   }

   // Clears the string list of the associated ResourceTestControl.
   void ClearStrings( Object^ /*sender*/, EventArgs^ /*e*/ )
   {
      if ( this->Control->GetType() ==
 ResourceTestControl::typeid )
      {
         ResourceTestControl^ rtc = dynamic_cast<ResourceTestControl^>(this->Control);
         array<String^>^temp = {"Test String #1","Test String
 #2"};
         rtc->resource_strings = temp;
         this->Control->Refresh();
      }
   }
};
package IResourceServiceExample; 

import System.*;
import System.Collections.*;
import System.ComponentModel.*;
import System.ComponentModel.Design.*;
import System.Drawing.*;
import System.Globalization.*;
import System.Resources.*;
import System.Windows.Forms.*;
import System.Windows.Forms.Design.*;
// Associates the ResourceTestControlDesigner with the 
// ResourceTestControl class.
/** @ attribute Designer(ResourceTestControlDesigner .class.ToType())
 */
public class ResourceTestControl extends System.Windows.Forms.UserControl
{
    // Initializes a string array used to store strings that 
    // this control displays.
    public String resource_strings[] = new
 String[] 
        { "Initial Default String #1", "Initial Default String #2"
 };

    public ResourceTestControl()
    {
        this.set_BackColor(Color.get_White());
        this.set_Size(new Size(408, 160));
    } //ResourceTestControl

    // Draws the strings contained in the string array.
    protected void OnPaint(System.Windows.Forms.PaintEventArgs
 e)
    {
        e.get_Graphics().DrawString("IResourceService Example Designer Control"
,
            new Font(FontFamily.get_GenericMonospace(), 10),
            new SolidBrush(Color.get_Blue()), 2, 2);
        e.get_Graphics().DrawString(
            "String list:  (use shortcut menu in design mode)",
 
            new Font(FontFamily.get_GenericMonospace(), 8), 
            new SolidBrush(Color.get_Black()), 2, 20);
        for (int i = 0; i < resource_strings.length;
 i++) {
            e.get_Graphics().DrawString(
                System.Convert.ToString(resource_strings.get_Item(i)), 
                new Font(FontFamily.get_GenericMonospace(), 8),
 
                new SolidBrush(Color.get_SeaGreen()), 2, 38 +
 i * 18);
        }
    } //OnPaint
} //ResourceTestControl

// This designer offers several menu commands for the 
// shortcut menu for the associated control.
// These commands can be used to reset the control's string 
// list, to generate a default resources file, or to load the string
 
// list for the control from the default resources file.
public class ResourceTestControlDesigner 
    extends System.Windows.Forms.Design.ControlDesigner
{
    public ResourceTestControlDesigner()
    {
    } //ResourceTestControlDesigner

    /** @property
     */
    public System.ComponentModel.Design.DesignerVerbCollection
 get_Verbs()
    {
        // Creates a collection of designer verb menu commands 
        // that link to event handlers in this designer.
        return new DesignerVerbCollection(new
 DesignerVerb[] 
            {   new DesignerVerb("Load Strings from Default
 Resources File", 
                new EventHandler(this.LoadResources)),
 
                new DesignerVerb("Create Default Resources
 File", 
                new EventHandler(this.CreateResources)),
 
                new DesignerVerb("Clear ResourceTestControl
 String List", 
                new EventHandler(this.ClearStrings))
 });
    } //get_Verbs

    // Sets the string list for the control to the strings 
    // loaded from a resource file.
    private void LoadResources(Object sender,
 EventArgs e) throws Exception
    {
        IResourceService rs = (IResourceService)(
            this.get_Component().get_Site().
            GetService(IResourceService.class.ToType()));
        if (rs == null) {
            throw new Exception("Could not obtain IResourceService.");
        }
        IResourceReader rr 
            = rs.GetResourceReader(CultureInfo.get_CurrentUICulture());
        if (rr == null) {
            throw new Exception("Resource file could not
 be obtained."
                + " You may need to create one first.");
        }
        IDictionaryEnumerator de = rr.GetEnumerator();
        if (this.get_Control().GetType().
            Equals(ResourceTestControl.class.ToType())) {
            ResourceTestControl rtc 
                = (ResourceTestControl)this.get_Control();
            String s1, s2, s3;
            de.MoveNext();
            s1 = (String)
                ((DictionaryEntry)(de.get_Current())).get_Value();
            de.MoveNext();
            s2 = (String)
                ((DictionaryEntry)(de.get_Current())).get_Value();
            de.MoveNext();
            s3 = (String)
                ((DictionaryEntry)(de.get_Current())).get_Value();
            de.MoveNext();
            rtc.resource_strings = new String[] { s1, s2, s3 };
            this.get_Control().Refresh();
        }
    } //LoadResources

    // Creates a default resource file for the current 
    // CultureInfo and adds 3 strings to it.
    private void CreateResources(Object sender,
 EventArgs e) throws Exception
    {
        IResourceService rs = (IResourceService)(
            this.get_Component().get_Site().
            GetService(IResourceService.class.ToType()));
        if (rs == null) {
            throw new Exception("Could not obtain IResourceService.");
        }
        IResourceWriter rw 
            = rs.GetResourceWriter(CultureInfo.get_CurrentUICulture());

        rw.AddResource("string1", "Persisted resource string
 #1");
        rw.AddResource("string2", "Persisted resource string
 #2");
        rw.AddResource("string3", "Persisted resource string
 #3");
        rw.Generate();
        rw.Close();
    } //CreateResources

    // Clears the string list of the associated ResourceTestControl.
    private void ClearStrings(Object sender,
 EventArgs e)
    {
        if (this.get_Control().GetType().
            Equals(ResourceTestControl.class.ToType())) {
            ResourceTestControl rtc 
                = (ResourceTestControl)(this.get_Control());
            rtc.resource_strings = new String[] {
                "Test String #1", "Test String #2" };
            this.get_Control().Refresh();
        }
    } //ClearStrings
} //ResourceTestControlDesigner
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
IResourceService メンバ
System.ComponentModel.Design 名前空間
CultureInfo

IResourceService メソッド


パブリック メソッドパブリック メソッド

  名前 説明
パブリック メソッド GetResourceReader 指定したカルチャのリソース リーダー検索し、そのリソース リーダー返します
パブリック メソッド GetResourceWriter 指定したカルチャのリソース ライタ検索し、そのリソース ライタ返します
参照参照

関連項目

IResourceService インターフェイス
System.ComponentModel.Design 名前空間
CultureInfo

IResourceService メンバ

デザイナが、特定の CultureInfo のリソース種類対すリソース リーダーリソース ライタアクセスするためのインターフェイス提供します

IResourceService データ型公開されるメンバを以下の表に示します


パブリック メソッドパブリック メソッド
  名前 説明
パブリック メソッド GetResourceReader 指定したカルチャのリソース リーダー検索し、そのリソース リーダー返します
パブリック メソッド GetResourceWriter 指定したカルチャのリソース ライタ検索し、そのリソース ライタ返します
参照参照

関連項目

IResourceService インターフェイス
System.ComponentModel.Design 名前空間
CultureInfo


このページでは「.NET Framework クラス ライブラリ リファレンス」からIResourceServiceを検索した結果を表示しています。
Weblioに収録されているすべての辞書からIResourceServiceを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からIResourceServiceを検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「IResourceService」の関連用語

IResourceServiceのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



IResourceServiceのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS