既存のUIコンポーネントをちょっとだけカスタマイズしたり、使いやすくするためにラップしたい場合は、UIコンポーネントを継承するのが効果的です。その方法ですが、まさにそのままで、
クラスを新規に作成し、(カスタマイズしたい)UIコンポーネントのクラスを継承するだけでOKです。作成した後、ソリューションをコンパイルすれば、ツールボックスにUIコンポーネントとしてクラスが追加されていると思います。プロパティを追記すれば、プロパティウィンドウにも表示されます。
情報工学技術を利用した教育支援、いわゆる教育工学の研究やってます。研究に関係する技術動向(プログラミングねた)や、日常の覚書き、呟きなどを書いていこうかと思います。今のところ、初歩的なプログラムネタばっかりですが、、、、長い目でお付き合いください。
クラスを新規に作成し、(カスタマイズしたい)UIコンポーネントのクラスを継承するだけでOKです。作成した後、ソリューションをコンパイルすれば、ツールボックスにUIコンポーネントとしてクラスが追加されていると思います。プロパティを追記すれば、プロパティウィンドウにも表示されます。
string endpoint = "s3.amazonaws.com"; | |
AmazonS3Config config = new AmazonS3Config { ServiceURL = endpoint }; | |
AmazonS3 s3=AWSClientFactory.CreateAmazonS3Client(config); | |
TransferUtility transferUtility = new TransferUtility(s3); | |
TransferUtilityUploadRequest request = new TransferUtilityUploadRequest() | |
.WithBucketName("XXXXXXXXXXX")//バケットの指定 | |
.WithKey("p1.png") //S3上でのオブジェクトの名前 | |
.WithFilePath("C:\\temp\\" + "1.png");//アップするファイルの場所と名前 | |
transferUtility.Upload(request); | |
Debug.WriteLine("Upload Complete"); |
string endpoint = "s3.amazonaws.com"; | |
AmazonS3Config config = new AmazonS3Config { ServiceURL = endpoint }; | |
AmazonS3 s3 = AWSClientFactory.CreateAmazonS3Client(config); | |
TransferUtility transferUtility = new TransferUtility(s3); | |
TransferUtilityDownloadRequest request = new TransferUtilityDownloadRequest() | |
.WithBucketName("XXXXXXXXXXXX")//バケットの指定 | |
.WithKey("p1.png") //S3上でのオブジェクトの名前 | |
.WithFilePath("C:\\temp\\" + "new1.png");//ダウンロードしたファイルを保存する場所と名前 | |
transferUtility.Download(request); | |
string endpoint = "s3.amazonaws.com"; | |
AmazonS3Config config = new AmazonS3Config { ServiceURL = endpoint }; | |
AmazonS3 s3 = AWSClientFactory.CreateAmazonS3Client(config); | |
DeleteObjectRequest request = new Amazon.S3.Model.DeleteObjectRequest() | |
.WithBucketName("XXXXXXXXXXXXXX") | |
.WithKey("p1.png"); | |
s3.DeleteObject(request); |
string endpoint = "s3.amazonaws.com"; | |
AmazonS3Config config = new AmazonS3Config { ServiceURL = endpoint }; | |
AmazonS3 s3=AWSClientFactory.CreateAmazonS3Client(config); | |
var listObjectRequest = new ListObjectsRequest(); | |
listObjectRequest.BucketName = "XXXXXXXXX"; | |
var response = s3.ListObjects(listObjectRequest); | |
foreach (var item in response.S3Objects) { | |
Debug.WriteLine("Object Name: " + item.Key); | |
} |
<system-properties> | |
<property name="file.encoding" value="UTF-8"/> | |
<property name="DEFAULT_ENCODING" value="UTF-8"/> | |
</system-properties> |
JSONObject jsObj; | |
JSONValue jsonValue =JSONParser.parseLenient(result); | |
jsObj = jsonValue.isObject(); | |
jsObj= jsObj.get("Body").isObject(); | |
jsObj= jsObj.get("SimpleHotelSearch").isObject(); | |
JSONArray jsonArray= jsObj.get("hotel").isArray(); | |
int num = jsonArray.size(); | |
for(int i=0;i<num;i++){ | |
jsObj=jsonArray.get(i).isObject(); | |
JSONObject hotelObject = jsObj.get("hotelBasicInfo").isObject(); | |
System.out.println(hotelObject.get("hotelName").isString()); | |
System.out.println(hotelObject.get("hotelThumbnailUrl").isString()); | |
System.out.println(hotelObject.get("hotelInformationUrl").isString()); | |
} |
JSONObject jsObj; | |
//JSONValue jsonValue = JSONParser.parse(result); //非推奨 | |
JSONValue jsonValue =JSONParser.parseLenient(result); //こちらを使いましょう | |
jsObj = jsonValue.isObject(); | |
JSONArray jsonArray= jsObj.get("Items").isArray();//商品リストはItems | |
int num = jsonArray.size(); | |
for(int i=0;i<num;i++){ | |
jsObj=jsonArray.get(i).isObject(); | |
JSONObject itemObject = jsObj.get("Item").isObject();//Itemが1商品に相当 | |
//以下、itemの中身を取り出しています | |
System.out.println(itemObject.get("itemName").isString()); | |
System.out.println(itemObject.get("itemPrice").isNumber()); | |
System.out.println(itemObject.get("itemUrl").isString()); | |
//画像はArrayに入っている | |
JSONArray imageArray =itemObject.get("smallImageUrls").isArray(); | |
System.out.println(imageArray.get(0).isObject().get("imageUrl").isString()); | |
} |
String encStr = com.google.gwt.http.client.URL.encode("もみじまんじゅう");サーバに送る前にクライアント側で事前に変換しておきましょう。
「.NET Framework 4 Client Profile」 (".NETFramework,Version=v4.0,Profile=Client") となっているため、 XXXXXXXXを参照することができません。というエラーが出る時があります。これは、利用する(参照する)クラスライブラリとプロジェクトの対象としているフレームワークにズレがあることが多いです。C#では様々な環境で動くようにライブラリが用意されていますが、デフォルトでは、