C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[8]: タッチパネルの画面でマウスカーソルを非表示にしたい


(過去ログ 96 を表示中)

[トピック内 12 記事 (1 - 12 表示)]  << 0 >>

■57338 / inTopicNo.1)  タッチパネルの画面でマウスカーソルを非表示にしたい
  
□投稿者/ こまったちゃん (15回)-(2011/02/23(Wed) 11:11:34)

分類:[ASP.NET (C#)] 

開発環境Visual Studio2008 Professional Edition 評価版

お世話になります。

タッチパネルの端末で画面にマウスカーソルを表示させないようにしたいです。
調べた結果「System.Windows.Forms.Cursor.Hide();」を使用すれば良い事が分かったのですが
実装してもカーソルは表示されています。
※表示する場合「System.Windows.Forms.Cursor.Show();」を使用しますが使用していません。

コンパイルはとおるので「System.Windows.Forms.Cursor.Hide();」が使用できる事は間違いないと
思うのですが表示されてしまう理由が分かりません。


↓が実装しているコードです。
「Page_Load」で画面表示と同時にカーソルを非表示にしようとしています。

       protected void Page_Load(object sender, EventArgs e)
        {
            // マウス・カーソル 非表示
            System.Windows.Forms.Cursor.Hide();

            if (!IsPostBack)
            {
		・・・
            }
        }

原因、及びマウスカーソルを表示させない他の方法がありましたらご教授下さい。

引用返信 編集キー/
■57347 / inTopicNo.2)  Re[1]: タッチパネルの画面でマウスカーソルを非表示にしたい
□投稿者/ 囚人 (588回)-(2011/02/23(Wed) 12:25:32)
全然違う方向からの提案ですけど、透明なカーソルファイルを作って端末のマウスカーソルをそれに設定してはどうでしょう。そうすれば見た目上カーソルはありません。

また、ASP.NETのようですが、サーバー側でカーソル非表示のコードを書いてもそれが有効になるのはサーバーであって、クライアントには関係ありません。

引用返信 編集キー/
■57348 / inTopicNo.3)  Re[1]: タッチパネルの画面でマウスカーソルを非表示にしたい
□投稿者/ 魔界の仮面弁士 (2088回)-(2011/02/23(Wed) 12:55:59)
No57338 (こまったちゃん さん) に返信
> タッチパネルの端末で画面にマウスカーソルを表示させないようにしたいです。

スタイルシートで
 cursor : url(〜);
を指定すればカーソルを変更できます。全透過画像を使えばそれっぽくなるかも。

指定できるファイルは、IE では .cur/.ani 形式のものだけとなります。
(Firefox では、GIF や PNG も指定できるようですが)

クライアントスクリプトで指定する場合は、
 .runtimeStyle.cursor = "url('mycursor.cur')";
という感じで。
引用返信 編集キー/
■57351 / inTopicNo.4)  Re[2]: タッチパネルの画面でマウスカーソルを非表示にしたい
□投稿者/ こまったちゃん (16回)-(2011/02/23(Wed) 14:30:54)
囚人さん、魔界の仮面弁士さん

ありがとうございます。

お二人のアドバイスを組み合わせて実装しましたが、変化がありません。

やったことは
1.マウスポインターを透過にする。
 ※準備したファイル名:00_07_Cursor.cur
2.aspxにコードを書く(下記を参考にしてみました)
 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1032290110

<head runat="server">
    <style type="text/css">
        body
        {
        	cursor:url('~/image/00_07_Cursor.cur');
        }
    </style>
</head>

<body background ="../image/00_01_BackGroundColor(Blue).gif"  scroll=no>
    <form id="form1" runat="server">
       <table style="width: 100%; height: 253px;">              
            <tr>                      
                <td class="style8">
                    <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
                    <asp:Image ID="Image2" runat="server" 
                        ImageUrl="~/image/00_05_Reception.gif" Width="208px" 
                        Height="266px" />
                    <br />
                </td>
            </tr>
        </table>
    </form>
</body>

cursor:url('~/image/00_07_Cursor.cur');については、「ImageUrl="~/image/00_05_Reception.gif"」と
同じようにする必要があるのでこのように記載しました。

aspx初心者の為、ご教授お願い致します。


引用返信 編集キー/
■57352 / inTopicNo.5)  Re[3]: タッチパネルの画面でマウスカーソルを非表示にしたい
□投稿者/ こまったちゃん (17回)-(2011/02/23(Wed) 14:58:43)
お世話になります。

イメージファイルをソースファイル(.aspx.designer.cs /.aspx.cs /.cs)が入っている
「WebForm」フォルダーにおいて下記のように修正したら、カーソルは非表示になりました。

<head runat="server">
    <style type="text/css">
        body
        {
        	cursor:url('00_07_Cursor.cur');
        }
    </style>
</head>

しかし、画面にあるボタンの上に行くとカーソルが表示されてしまいます。
これは、解消できないのでしょうか?

ご教授お願い致します。

引用返信 編集キー/
■57353 / inTopicNo.6)  Re[3]: タッチパネルの画面でマウスカーソルを非表示にしたい
□投稿者/ 魔界の仮面弁士 (2089回)-(2011/02/23(Wed) 15:12:23)
No57351 (こまったちゃん さん) に返信
> お二人のアドバイスを組み合わせて実装しましたが、変化がありません。

ファイル形式およびパス指定には問題ありませんか?

試しにこちらでも作ってみましたが、body 部のカーソルが期待通りに消えてくれました。
http://www.vb-user.net/junk/replySamples/2011.02.23.15.05/cursor.aspx


<html>
<head runat="server">
<title>TEST</title>
 <style type="text/css">
 body{ cursor:url('cursor.cur'); }
 </style>
</head>
<body>
<form runat="server">
  <asp:TextBox id="txt" runat="server" />
  <asp:Button id="btn" Text="Submit" runat="server" />
</form>
</body>
</html>

引用返信 編集キー/
■57354 / inTopicNo.7)  Re[4]: タッチパネルの画面でマウスカーソルを非表示にしたい
□投稿者/ 魔界の仮面弁士 (2090回)-(2011/02/23(Wed) 15:16:40)
おっと、時間差。

No57352 (こまったちゃん さん) に返信
> イメージファイルをソースファイル(.aspx.designer.cs /.aspx.cs /.cs)が入っている
> 「WebForm」フォルダーにおいて下記のように修正したら、カーソルは非表示になりました。
パスの問題だったようで。


> しかし、画面にあるボタンの上に行くとカーソルが表示されてしまいます。
> これは、解消できないのでしょうか?
ボタンの cursor を指定されましたか?

初期値は "auto" ですから、明示的に url(〜) か inherit を指定しないと反映されませんよ。
引用返信 編集キー/
■57356 / inTopicNo.8)  Re[4]: タッチパネルの画面でマウスカーソルを非表示にしたい
□投稿者/ こまったちゃん (18回)-(2011/02/23(Wed) 16:40:35)
魔界の仮面弁士 さん ありがとうございます。

>ボタンの cursor を指定されましたか?
>初期値は "auto" ですから、明示的に url(〜) か inherit を指定しないと反映されませんよ。

下記を参考にして「style="cursor:url('00_07_Cursor.cur')" 」と実装しました。
http://sennbei.mond.jp/HP/s014.html

<td class="style9">
 <br />
  <asp:Button ID="Button_Appointment" runat="server" BackColor="#CCCCCC" Font-Bold="True"
   Font-Names="HGS明朝E" Font-Size="XX-Large" ForeColor="Blue" Height="60px" Width="330px" 
      style="background-image:url('btn00_01.gif')" style="cursor:url('00_07_Cursor.cur')" 
     onclick="Button_Appointment_Click" />
 <br />
</td>

ただ下記のように実装している為
「(ASP.Net):属性styleは、各タグで1回のみ指定することができます。」とエラーになります。
style="background-image:url('btn00_01.gif')" style="cursor:url('00_07_Cursor.cur')" 

この実装方法以外で正しい方法があればご教授下さい。


引用返信 編集キー/
■57358 / inTopicNo.9)  Re[5]: タッチパネルの画面でマウスカーソルを非表示にしたい
□投稿者/ 魔界の仮面弁士 (2092回)-(2011/02/23(Wed) 16:45:25)
No57356 (こまったちゃん さん) に返信
> >初期値は "auto" ですから、明示的に url(〜) か inherit を指定しないと反映されませんよ。
親要素のカーソル情報を引き継がせたいなら、cursor: inherit と書けますよ。


> style="background-image:url('btn00_01.gif')" style="cursor:url('00_07_Cursor.cur')"
style="background-image:url('btn00_01.gif'); cursor:url('00_07_Cursor.cur')"

もしくは、スタイルシートから class 属性経由で指定しても良いですけど。
引用返信 編集キー/
■57359 / inTopicNo.10)  Re[6]: タッチパネルの画面でマウスカーソルを非表示にしたい
□投稿者/ こまったちゃん (19回)-(2011/02/23(Wed) 17:13:23)
2011/02/23(Wed) 17:22:05 編集(投稿者)
2011/02/23(Wed) 17:21:53 編集(投稿者)

魔界の仮面弁士 さん

ありがとうございます

>>>初期値は "auto" ですから、明示的に url(〜) か inherit を指定しないと反映されませんよ。
> 親要素のカーソル情報を引き継がせたいなら、cursor: inherit と書けますよ。
↑の意味は下記1 or 2 の実装の違いですか?(1で実装しました)
1.style="background-image:url('btn00_01.gif'); cursor:inherit
2.style="background-image:url('btn00_01.gif'); cursor:url('00_07_Cursor.cur')" 
 
> もしくは、スタイルシートから class 属性経由で指定しても良いですけど。
この方法のイメージと実現方法が分からないです。

申し訳ありませんがご教授ください。

引用返信 編集キー/
■57360 / inTopicNo.11)  Re[7]: タッチパネルの画面でマウスカーソルを非表示にしたい
□投稿者/ 魔界の仮面弁士 (2093回)-(2011/02/23(Wed) 17:55:11)
No57359 (こまったちゃん さん) に返信
>>親要素のカーソル情報を引き継がせたいなら、cursor: inherit と書けますよ。
> ↑の意味は下記1 or 2 の実装の違いですか?(1で実装しました)
> 1.style="background-image:url('btn00_01.gif'); cursor:inherit
> 2.style="background-image:url('btn00_01.gif'); cursor:url('00_07_Cursor.cur')" 

cursor 属性の既定値は "auto" です。
IE の場合、テキストボックスならIビーム、ボタンなら矢印ポインタが表示されます。
http://msdn.microsoft.com/en-us/library/aa358795.aspx

そして inherit を指定した場合は、親要素の設定を引き継ぐことになります。
http://w3g.jp/css/guide/inheritance

<body style="cursor:url(cursor.cur)">
 <div>
   <input type="button" id="B1" value="B1" style="cursor:inherit" />
   <input type="button" id="B2" value="B2" style="cursor:url(cursor.cur)" />
   <input type="button" id="B3" value="B3" onclick="this.runtimeStyle.cursor = 'inherit'" />
   <input type="button" id="B4" value="B4" onclick="this.runtimeStyle.cursor = 'url(cursor.cur)'" />
 </div>
</body>


>>もしくは、スタイルシートから class 属性経由で指定しても良いですけど。
> この方法のイメージと実現方法が分からないです。
class 指定でカーソル指定する例としてはこんな感じ。
http://css.eweb-design.com/0701_mc.html

ひとつの要素に複数の class を指定する場合は、
class="class1 class2" のように空白区切りで指定します。

要素に関係無くすべてに割り当てたいなら、全称セレクタ(*) を使う手もあります。
http://www.xml.vc/kiso/taisyou/subete-sitei.html

> 申し訳ありませんがご教授ください。
http://www.tt.rim.or.jp/~rudyard/torii009.html

引用返信 編集キー/
■57361 / inTopicNo.12)  Re[8]: タッチパネルの画面でマウスカーソルを非表示にしたい
□投稿者/ こまったちゃん (20回)-(2011/02/23(Wed) 18:15:29)
2011/02/23(Wed) 18:16:15 編集(投稿者)
2011/02/23(Wed) 18:16:00 編集(投稿者)

<pre><pre>魔界の仮面弁士 さん

>要素に関係無くすべてに割り当てたいなら、全称セレクタ(*) を使う手もあります。
>http://www.xml.vc/kiso/taisyou/subete-sitei.html
キーボード画面があるので、そこにある全てのボタンに対応する為に↑を参考にして
修正しました↓
<head runat="server">
    <style type="text/css">
        *
        {
        	cursor:url('00_07_Cursor.cur');
        }
    </style>
</head>

全ての質問に対して丁寧に教えて頂きありがとうございました。
また質問する事があると思いますので、その時は宜しくお願い致します。
</pre></pre>

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -