C#

MonoのUDPは、制限ブロードキャストの受信に制約あり

C#

これも個人的な調査結果です。 Windows/.NET(4.5)とLinux(Ubuntu16.04)/Mono(4.2.1)での通信を試していたのですが、どうもうまく動作しませんでした。調べた結果、次のようなことが明らかになりました。 Linux/Monoで、IPAddress.Anyにバインドした場合、ブ…

C#でProducer-Consumerパターンのコレクションを長時間維持し、たまに生成/解除する

C#

ただの個人的な調査結果です。 C#で、次のような要求があると仮定します。 1つ以上のソース(UIなりネットワークなり)からデータが入ってくる データが入るスレッドは待たせない 入ったデータは1系列に整理(シリアライズ)され、すぐに処理(UIへの反映な…

Eto.FormsのExpanderをXAMLで

前回のExpanderについて、XAMLで書いてみます。 結果(アプリケーションの見た目や動作)は前回と似ています。

Eto.Formsで展開型パネル(Expander)

ここまでで、Eto.Formsの主要なコントロールの多くは紹介してきたつもりです。 しかし、他にも紹介していない項目もあります。 今回は、公式APIにも載っていない(入れ忘れ?)コントロールであるExpanderを紹介します。

Eto.FormsでTreeGridView

さて、Eto.Formsの紹介もかなり進んできました。あとは表とツリーあたりでしょうか。 しかし、表(GridView)については公式サンプルで十分かと思います。 なので、表は割愛してツリーについて紹介します。 Eto.Formsには、ツリー型のコントロールが2つあり…

Eto.Formsで設定ダイアログ(2)―少し凝った設定ダイアログを作る

少し凝った設定ダイアログを作る 今回は、もう少し要素の多い設定ダイアログを作ってみます。 作るもの メインウインドウは、文字列を表示するものとします。 (サンプル画像) Fileメニューから、Preferences...を選ぶと、設定ダイアログ。 次の設定ができ…

Eto.Formsで設定ダイアログ

今回は、モーダルダイアログを作ってみます。 メインウインドウは、TextAreaが1つあるだけ 設定ダイアログは、メニューから開く 設定項目は、TextAreaの中身(文字列) メイン側ではTextAreaはReadOnly=trueとして変更は禁止 作るもの メインウインドウと、…

Eto.FormsでWebブラウザ

Eto.FormsはWebViewクラスでWebブラウザの利用が可能です。 では、さっそく簡単なサンプルを。 こんな感じです。

Eto.FormsのXAMLでCommandをバインド

前回はXAMLで値をバインドしましたが、Vを起点に処理するためには、コマンドが不可欠です。現在のEto.Formsでも、ある程度のコマンドを扱うことができます。 サンプルプロジェクトを作成してみます。元ネタはXamarinのコマンドの説明です。 「イベントをコマ…

Eto.FormsでXAMLとデータバインドを使う

Eto.Formsのテンプレートでは、GUI定義の方法として次の3つを用意しています。 ソースコード(code) XAML JSON ここでは、XAMLでデータバインドを使う例を示します。 まず、テンプレートに基づいてプロジェクトを作成します。もちろんGUI定義は「XAML」を選…

Eto.Formsでアプリケーションのアイコンを設定する

Eto.FormsのForm(正確には親のWindow)クラスには、Iconプロパティがあります。ここにアイコンを設定すると、例えばWindowsならウインドウ左上やタスクバー上に表示されます。 ここでは、サンプルとして、Alessandro Rei氏のGPLなアイコンセット「Dark Glas…

Eto.Formsで画像表示

今回は画像を表示してみます。Eto.Formsで画像を表示する主なクラスは、「Image」がつくクラスとDrawableクラスです。 Image~:画像表示のみ(画像であるImageインスタンス上では、ピクセル単位の色設定が可能) Drawable:Graphicsインスタンスを取得する…

Eto.Formsでメモ帳のようなもの

GUIプログラミングといえばテキストエディタ(と個人的には思っているのです)。ということで、Eto.Formsでも簡単なサンプルを作ってみます。 できあがりは次のような感じです。

Eto.Formsでボタンと1行テキストボックス

テンプレートのHello Worldはラベルを使っていたので、今度は他の基本のコントロールとしてボタンと1行テキストを使ってみます。 前回と同様、Eto Applicationプロジェクトを作成しますが、今回は、MainForm.csを大幅に書き換えてみます。 using System; usi…

クロスプラットフォームなGUIフレームワーク「Eto.Forms」の紹介

この記事は、C# Advent Calendarの最終日(12月25日)の項目です。なお前日は smbkrysk14 さんの「Material Design In XAML ToolkitでWPFアプリにモダンなUIを!」でした。C#のアドベントカレンダーで2日連続でクライアントGUI関連というのは、ちょっとおも…

アプリケーションの設定の保存

C#

設定保存の基本 アプリケーション設定を保存するための手軽な手順はVisual Studioでの設定ですが、使い勝手など微妙な面もあります。 Visual Studioでアプリケーションの設定を保存する: .NET Tips: C#, VB.NET http://dobon.net/vb/dotnet/programing/myset…

C#でお手軽ハイブリッドアプリケーション (1)

C#

前書き 2015年を「プログラミング」という点で見ると、個人的には「Electronがやたら騒がれた」という印象を受けます。 qiita.com 自分でも上記など試してみましたが、「JavaScript関連だけ経験がある人がデスクトップアプリケーションを作る」ためには、お…