次世代ITリーダーのためのオルタナティブ情報発信サイト


プリンタ用表示(TechTarget会員専用)
エンタープライズ
新着記事
2007年10月27日
Oracle、BEA提案の「1株21ドル」を拒否(07:49)
2007年10月26日
ソフトバンクモバイル、ドコモ対抗の新料金プランを導入(20:23)
ソフトバンクモバイル、ドコモの新料金に準じた「ブループラン・バリュー」を発表(20:08)
日立電サ、社内情報インフラ「FSM」を全国運用(19:32)
ソフトバンクモバイル、2008年1月に一部の料金プランを終了(18:50)
海外からのWebサイトアクセスを制限、JストリームらがASPで提供(18:17)
選挙運動マルウェア、セキュリティ企業が発見(18:04)
NEC、給電・スタック機能付きレイヤスイッチ8モデル追加(17:57)
日産がシスコのUC製品を7200台採用(17:24)
Sun、NetAppの特許訴訟に反訴(16:59)
ドコモ、2008年3月期中間決算も減収減益──営業収益予想を下方修正(16:04)
トレンドマイクロが米DLPベンダーを買収、情報漏えい防止対策強化へ(16:03)
Google、「賢く失敗することに重点」の理由(16:02)
ドコモ、グループ9社を統合──2008年第2四半期めど(15:51)
ドコモ、選べる購入制度を発表――月々安い「バリューコース」、買うとき安い「ベーシックコース」(15:50)
MSのEU制裁受け入れはSambaの追い風になるか(15:40)
FacebookがGoogleではなくMSを選んだ理由(15:39)
ホワイトペーパー:情報漏えい対策が機能している企業は何が違うのか?(12:25)
100ドルノートPCのWindows版登場へ(12:00)
これもケア!?:MS OneCareが自動更新設定をこっそり変更?(10:30)
仮想化の達人:ベンダー任せの仮想化採用に潜むわな(10:00)
人心掌握の鉄則:モチベーションは上げようとするな、維持させよ。(09:48)
BEA、「1株21ドルなら買収交渉も」(09:09)
Opera、ブックマークがPCと携帯で共有可能に(08:57)
MS、Vista好調で増収増益――売り上げの伸びは1999年以来最高(08:46)
Intel、同社初の「45nm量産施設」の稼働開始(08:39)
カリフォルニアの山火事に便乗、eBayで不審オークションも(08:36)
一太郎シリーズに深刻な脆弱性(08:02)
初心者歓迎! ITIL連載講座:サービスレベル管理――「不幸なSLA」を締結しないために(08:00)
Citrix iForum 07 App Delivery Expo Report:Citrixが発表した「XenDesktop」は何をもたらすか?(07:50)
定期的なアップデートでネット攻撃から身を守る(02:10)
2007年10月25日
カリフォルニア州の山火事で数社のIT企業が業務を中止(20:15)
ネットカフェからも安全接続――シマンテック、エンドポイントセキュリティ製品(19:57)
アークンとインフォサイエンス、DB監査システムを共同開発(19:56)
日立ソフト、新たに仮想化ソリューションサービスを開始(19:55)
「現状で世界最高速」――NECが最新のスパコンを発表(19:31)
“話題”や“感性”で企業内検索――「なずき サーチ」共同開発(18:59)
RubyとFONが地域振興でタッグ、九州にWi-Fi網を構築へ(18:56)
ディーネット、SWsoftの仮想化ソフトをホスティングサービスに導入(18:53)
自社技術とQAの両刀で大企業に切り込むフォーティネット(18:33)

特集
2004/11/09 10:41 更新

Visual Studio Magazine
特集:Windowsフォームにスパイスを――MessengerやOutlookに見る不定形フォームテク (3/4)


前のページ | 1 2 3 4 | 次のページ

 最後に、メニューを表示する機能を実装したならば、メニューを隠すために、表示するのとは逆の手順のコードを実装してほしい。

 このような実装コードは、MSN Messengerスタイルのツールを、あなたのWindowsフォームにスパイスを加える効果的な武器となるだろう。

 Windowsフォームにスパイスを加える第2の方法は、「通知」を利用することだ。古いVBのコードでは、FlashWindowメソッドを呼び出すことで(ウィンドウを点滅させて)、ユーザーへの通知を実現していた。

 今日では、アルファブレンディングや透明機能を使うことで、粋なユーザー通知を容易に作ることができる。好き嫌いもあるだろうが、2種類のユーザー通知の形態がある。それは、MSN MessengerスタイルとOutlookスタイルの、フェードアウトするウィンドウだ(画面3)。

vs0411jb_f3.gif

画面3■スタイリッシュな通知を作る


 Outlook 2003やMSN Messengerに似たこの通知手段は、数行のコードで構成できる。フォームの不透明度を設定したり、スクリーンの縁から外に追い出したりすることで、フェード効果やポップアップ効果を得られるのだ。

 一般的に、この手法は重要度が高くタイムクリティカルなデータを効率的な方法でユーザーに伝えることが重要だ。たとえば、インスタントメッセンジャーやシステムモニタの通知には、ユーザーに対して、即時的で注意を引くよう伝えることが求められる。

 通知を必要とするときには、その通知がユーザーの現在の仕事を完全に中断して、通知のデータに対してフォーカスを与えるかどうか十分に検討する必要がある。

 そして、良いユーザーインターフェイスは、あまり出しゃばるべきではない。

 ユーザーは通知された時に通知があっても、そのまま作業を続けられるようにすべきだ。作業を長い間、中断することなく、ユーザーが通知情報にアクセスできることに注目して設計すべきだ。

 ユーザーに表示する情報を選んだら、その情報を表示するために十分に大きいけれども、過度にユーザーの気をそらすほどは大きくない程度のサイズを注意深く選んでほしい。

Outlookスタイルの通知を作る

 Microsoft Outlook 2003には、新しいメールが届いた時にアラート表示する機能がある。

 ユーザーは、アラートが表示されている間、クリックすればメール本文へに素早くアクセスすることもできるし、アラートを無視して、そのまま作業を続けても構わない。この種の通知を作るには、適した大きさのWindowsフォームを使い、フォームの透明度を設定するタイマーを使ったコードを実装すればよい。

 不透明度を示すOpacityプロパティは、0〜1までの範囲で設定する。Opacityプロパティに異なる割合の不透明度を設定することによって、Outlook 2003における通知のフォードイン、フォードアウトの効果を試すことができる(リスト2)。

 Outlook 2003の通知機能に似たフェードイン効果を作るには、単純に、タイマーとOpacityプロパティを使えばよい。フェードアウトにしたいならば、フォードインのコードとは逆にすればよい。

リスト2■フェードイン
private void Outlook_Load(object sender,
System.EventArgs e)
{
this.DesktopLocation = new Point(700, 700);
this.Opacity = 0;
appear.Enabled = true;
appear.Interval = 50;
appear.Start();
appear.Tick += new EventHandler(appear_Tick);

}

private void appear_Tick(object sender, EventArgs e)
{
if(this.Opacity < 1)
this.Opacity += .1;
else
disolve();
}

private void disolve()
{
appear.Stop();
appear.Dispose();
Timer fade = new Timer();
fade.Enabled = true;
fade.Interval = 50;
fade.Start();
fade.Tick += new EventHandler(fade_Tick);
}

private void fade_Tick(object sender, EventArgs e)
{
if(this.Opacity > 0)
this.Opacity -= .1;
else
this.Close();
}

 次に、MouseHover、MouseEnter、MouseExitのイベントにいくつかのコードを実装する。

 その目的は、ユーザーがフォームの上にマウスを置いている間、フェードアウトを休止するためだ。さらに、クリックすると詳細情報が開くようなLinkButtonコントロールなどのコントロールを通知のフォームに追加するというのもよいだろう。

 MSN Messengerスタイルの通知の作成は、少し複雑だ。

 基本的には、Outlook 2003スタイルの通知と同じ概念だが、画面下にポップアップを置く必要がある。フォームの場所は、デスクトップ作業域の大きさを取得し、そこからフォームのうち隠したい部分のサイズを加えることで決定できる。

 次のコードは、画面全体からスタートメニューの領域を省いた領域を得るものだ。

Size desktopSize;
desktopSize = SystemInformation.WorkingArea.Size;

 次に、どこでフォームをポップアップするべきであるかを計算する必要がある。

 次に挙げるコードは、Outlookスタイルのデモのように固定された位置に表示するのではなく、画面の解像度に合わせて位置を計算する例だ。

int height = desktopSize.Height + this.Size.Height;
int width = desktopSize.Width;
this.SetDesktopLocation(height,width);

 このようにして、フォームの表示開始位置を計算したならば、そのフォームを画面から徐々に上げていき、ポップアップするために次のコードを使えばよい。

Size desktopSize;
desktopSize = SystemInformation.WorkingArea.Size;
int height = desktopSize.Height;
if(this.Top >= desktopSize.Height - this.Size.Height)
this.Top -= 10;

前のページ | 1 2 3 4 | 次のページ

[Andrew Flick, Jason Beres,FTPOnline]

© Copyright 2001-2005 Fawcette Technical Publications


 
この記事についてのご感想 【必須】
コメント

- PR -

第2回 MIJSカンファレンス「Japan」 11/29開催決定!
真のアプリケーション連携がここから始まる!!

MIJSでは、活動の成果を発表させて頂くために、11/29(木)目黒雅叙園にて第2回 MIJSカンファレンスを開催いたします。本カンファレンスでは、「MIJS標準規格」の発表をはじめ、様々な製品連携をご紹介いたします。

「MIJS標準規格」第一弾発表!

◆日本の有力ソフトウェアベンダーが集結
◆製品の相互連携による基盤強化
◆日本製ソフトウェアの海外展開
 
日時:2007年11月29日(木) 10:15〜
会場:目黒雅叙園 2F
定員:1000名  参加費:無料(登録制)
主催:MIJSコンソーシアム

詳しいセミナーの内容・お申込みはこちら

キャリアアップ



エンタープライズ・ピックアップ

news021.jpg 人心掌握の鉄則:モチベーションは上げようとするな、維持させよ。
明らかにやる気が落ちている、意欲的でない人に対しては、どうしても「モチベーションを上げるには」と対処法を考えてしまう。しかし上げようと無理をするのではなく、本来のレベルに戻そうというぐらいがちょうどいい。

news116.jpg ビジネスインテリジェンスの新潮流 〜パフォーマンス マネジメント〜:第2回 組織知性とパフォーマンスマネジメント
今再び注目を集める「BI:ビジネスインテリジェンス」。だが、組織全体で共有されないインテリジェンスでは意味がない。連載2回目は、情報を共有することで可能となる「パフォーマンスマネジメント」の真髄を探る。

news022.jpg 仮想化の達人:ベンダー任せの仮想化採用に潜むわな
あなたの企業では仮想化技術の導入をベンダーに託すことになるかもしれない。しかし、ちょっとしたボタンの掛け違いでトラブルが発生することもある。「仮想化技術には多くの不確定要素がある」ことはゆめゆめ忘れてはならない。

news002.jpg 女性システム管理者の憂鬱:成果主義の悪夢? 部下の運命を左右する上司の「ひと言」
上司が部下の業績を正しく評価(レビュー)して初めて成り立つ成果主義。だが、この評価の仕組みを理解せずにおきて破りの行動に出る上司もいるのだ。

news009.jpg まつもとゆきひろのハッカーズライフ:第7回 言語の重要性その2
世の中にこれだけたくさんの言語があるのに、さらにまた新しい言語を作ろうと思いつく時点で、すでに相当INSANEでしょう。しかし、言語を変化させることはあらゆるもののありかたを変化させることでもあります。つまり、言語のデザインは、究極の自由なのです。

news044.gif オルタナブログ通信:利用者は受けては振り回される運命?――報道メディア、SNS、タクシー業界、それぞれの姿勢
何をどう報じるべきか――報道メディアが迷走している。そして、GREE、mixiなどといったネットコミュニティーも、ユーザビリティに悩んでいる。いったい、正解はどこにあるのだろうか? オルタナティブ・ブロガーは、ITの時事ネタを独自視点から発信する。

オンライン・セミナー
ITmedia エンタープライズ主催によるオンライン・セミナーを開催! ITmedia エンタープライズでは、インターネットを活用したオンライン・セミナーを開催します。ITを活用するためのタイムリーな話題について、さまざまな分野から講師を招き、読者へリアルタイムかつインタラクティブに情報をお届けします。申し込みは無料で、どなたでも自由にご参加いただけます。

エンタープライズ インフォメーション