
No.2ベストアンサー
- 回答日時:
されていません。
無効であることと意味が異なりますので。
大体日本だと、こういうのがありますよね。
・Enabled=falseでいいじゃん
⇒背景色、文字色が濃くなって、見辛いのでNG
・ReadOnly=true、TabStop=falseでいいじゃん
⇒背景色変わってほしくない、マウスでフォーカスがあたるのでNG
・ラベルで表現すればいいじゃん
⇒情報のコピーを行うことができなくなるのでNG
よほど神経質でない限り、どちらかでいいのでしょうが、いちいちどうでもいい細かいところに
拘りたがります。
そういうの、ある特定条件下において入力可能/不可能が切り替わる時に、大変拘りだすと
思います。
結論は自作するしかありません。
WindowsAPIで実現する方法論は知りませんでしたが、私はOnReadOnlyChangedをオーバーライドして
コンポーネントを自作しましたよ。
加えて、ReadOnlyFocusApplyプロパティみたいなのを作って、trueならただのReadOnly状態、
falseならラベルで表現する、とかってしました。
先に記した状態3つがあるわけですが、ユーザーがどのレベルまで求めているのかによって
対応策が異なると思います。
⇒フォーカスが遷移しないのにWindowsの基本操作に従った手順でコピーは行いたいなんてのは
ムリなので。
この回答への補足
回答、ありがとうございます。
そんな大したことを望んでいるわけではないのですが…。
要はReadOnlyであろうとなかろうと、『カーソルをみえなくできれば』
良いのでして。
極端な話思いついたのは、カーソルと背景色を同じにできれば
見えなくできると思っていたのですが、それらしいのもないみたいでした。
実際にカーソルが存在していてもいいんです。要は見た目に気づかなければ
良いのですが、そんな方法はありますでしょうか?
No.5
- 回答日時:
>今でもまだ、APIを使用しなければ駄目でしょうか。
そもそも、「今でもまだ」とは、どういう意味でしょう
Readonly属性は、入力コントロールに対する変更を禁止にするだけの属性です
そして、入力コントロールなのですからキャレットが存在して当たり前です
キャレットの主な役割は、移動、変更、コピー&ペーストがあります
このうち、変更が禁止になっただけなので、移動とコピーのみが出来ますよ
という属性です
「今でもまだ」、まるでこの仕様が不具合で、まだ直っていないとでも
言いたそうですが、もともとがそういう仕様なのですから
今でもまだ、どころか、この先も変わる事は無いです
この回答への補足
回答、恐れ入ります。
決して不具合だとは思っていません。
要は、機能的にあろうとなかろうと、『キャレットを非表示にする』という
メソッドなりが追加されていてもおかしくないのではと思っただけです。
皆様の回答を見ていると、必要以上にこだわりのある
返答のように思えますが、私としては見えなくなってさえくれればいいわけで
当然そのようなメソッド、機能していても非表示にするとか、
キャレットと背景色を同じにするとか。
なので、非表示と無効というのを取り違えて回答するのはやめていただきたく存じます。
No.4
- 回答日時:
>『できるようになったのかどうか』という内容に、『LAbelで代用しろ』とは、
> 意図そのものが違っているのでは?
そういう事であれば、できませんし将来的にもできるようにはならないと思います。
No.3
- 回答日時:
> 実際にカーソルが存在していてもいいんです。
要は見た目に気づかなければ> 良いのですが、そんな方法はありますでしょうか?
それは入力可能になる場合がある項目なのでしょうか?
そうでないならば、やはりラベルで代用することが最も簡単でしょう。
そもそもフォーカスが当たらなければ良いわけですから。
もしくは、一度フォーカスが当たってもいいなら、フォーカスが当たった瞬間に
form.ActiveControl=nullにするとか。
No.1
- 回答日時:
「TeextBoxの内容を選択してクリップボードにコピー」という動作を許可する為にはReadOnlyでもキャレットが必要です。
ということで……ReadOnlyで配置する目的はなんでしょう?
Labelで配置ではダメなのでしょうか?
文字色や背景色まで変わってしまいますがEnabledプロパティで無効状態にしてしまう。というのもあるかも知れません。
この回答への補足
すみません。
せっかく回答いただけたのに、質問の意味がお分かりいただけてないようです。
『できるようになったのかどうか』という内容に、『LAbelで代用しろ』とは、
意図そのものが違っているのでは?
>「TeextBoxの内容を選択してクリップボードにコピー」という動作を許可する
ということを書いてはいないつもりですが、この文章はどこから出てきたのですか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
CloseとDisposeの違い
Visual Basic(VBA)
-
「タイプ初期化子が例外をスローしました」エラー何?
Visual Basic(VBA)
-
テキストボックスからフォーカス外す
C言語・C++・C#
-
-
4
DataGridViewの、選択されている行を取り出したい
Visual Basic(VBA)
-
5
C#プログラムで、ボタンをショートカットキー付きで作りたいのですが、方
その他(プログラミング・Web制作)
-
6
C#でButtonのフォーカス枠を消したいのですが
C言語・C++・C#
-
7
FORMが開いているかどうかの確認方法
Visual Basic(VBA)
-
8
フルパスから最後のディレクトリ名を取得したい。
Visual Basic(VBA)
-
9
ピクチャーボックスの大きさに合わせて画像を表示
Visual Basic(VBA)
-
10
VB.NET2005 TextBox 高さ(Height) 変更
Visual Basic(VBA)
-
11
C#についてText Boxの枠
その他(ソフトウェア)
-
12
C#において、同じインスタンスを何度もnewしてよいでしょうか。
その他(プログラミング・Web制作)
-
13
C#で、ContextMenuStripに動的に項目を追加したい。
その他(プログラミング・Web制作)
-
14
C# DataGridView のヘッダーセル中央揃え
C言語・C++・C#
-
15
ラベルの文字列の長さが変わったときに、ラベル位置を自動で変更する方法
C言語・C++・C#
-
16
C#でフォームのオブジェクト名を変数名で指定
C言語・C++・C#
-
17
別のフォームで記述している関数を実行するには?C#
C言語・C++・C#
-
18
インスタンス参照でアクセスできない。代わりに型名?
C言語・C++・C#
-
19
C# DataGridViewで複数選択したセルに同じ値を一括で入力するには
C言語・C++・C#
-
20
textboxユーザーコントロールのコピー&ペースト制御
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
どこにもフォーカスを当てたくない
-
油性マジックで書いたサインを...
-
酸素ボンベのレギュレーターか...
-
C# ReadOnlyのTextBoxで
-
コマンドボタンのEnterイベント...
-
ユーザーフォームのSetFocusが...
-
GridViewでハイライトを使用し...
-
excel ユーザーフォームのリス...
-
他の人には声だして挨拶してる...
-
F503iにSVって表示されてるんで...
-
PHPで電卓を作りたい
-
業務に差し支えのないテンキー...
-
二台のノートパソコンを繋げて...
-
小学校で遊ぶてんかのルールに...
-
VBAでのユーザーフォーム上...
-
テキストボックス入力後、警告...
-
炊飯器のセットの音と出来上が...
-
動画のカメラワーク?
-
エクセルVBA テキストボックス...
-
至急回答お願いします。 間違え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
他の人には声だして挨拶してる...
-
どこにもフォーカスを当てたくない
-
ユーザーフォームのSetFocusが...
-
C# ReadOnlyのTextBoxで
-
油性マジックで書いたサインを...
-
矢印(左右)キーでイベントを...
-
GridViewでハイライトを使用し...
-
エクセルVBA テキストボックス...
-
業務に差し支えのないテンキー...
-
VBAのExitイベントについて
-
Accessの更新後処理で特定の条...
-
小学校で遊ぶてんかのルールに...
-
Private Sub内でSubをCallしたい
-
コマンドボタンのEnterイベント...
-
『エッジの効いた○○』の意味。
-
プログラムからTera Termに文字...
-
MFCでコンボボックスを選択不可...
-
F503iにSVって表示されてるんで...
-
池袋サンシャイン通りでキャッ...
-
テキストボックス入力後、警告...
おすすめ情報