0

ユーザーが解析アクションを開始するために特定の行を選択する必要があるアプリケーションがあります。私のアイデアは、ユーザーが必要な行を選択できる単純なスクロールリストを作成することでした。リストをクリックすると、リストが閉じてプログラムが終了します。

コントロールをカスタムコーディングして、通常のテキストボックスにできるだけ似せるようにしたいのですが、ユーザーが現在選択している行を強調表示します(クリックすると行番号を返します)。

もちろん、私はこのためのコードが欲しいだけではありません。それは私が行うことを学ぶ必要があることです。しかし、この新しいコントロールを作成するのに役立つ良いリソースはありますか?特に必要となる垂直スクロールバー(テキストは数百行の長さになる可能性があります)。

ありがとう

4

3 に答える 3

5

独自のカスタムコントロールを作成する代わりに、リストボックスを使用して、潜在的な用途で選択したいすべての情報を保存してみませんか。探しているすべての機能は、すでにコントロールに組み込まれています。私が何かを逃しているなら、さらに説明してください。

于 2012-05-10T19:33:00.933 に答える
0

(理論的には)SelectionStart(キャレット位置)で分割することで* TextBoxコントロールを再利用できます。これにより、最初のCRLFのインデックス(最初のサブストリングのLastIndexOf)が取得され、次のCRLF(IndexOf)までの選択の長さを設定して行全体が選択されます。 2番目のサブストリング内)。しかし、前述のように、標準のリストボックスが最適です。

于 2012-05-10T19:39:23.800 に答える
0

これは静的なテキストエリアですか、それともユーザー入力またはコピー/貼り付け操作に基づいていますか?ラッピングでいくつかの潜在的な問題が発生する可能性があり、それでもSelectionStartを正しく処理しないIE8に対処する必要があるためです。

完全にエレガントではありませんが、改行に基づいてテキストを分割し、コンテンツまたは(シャダー)テーブルに一連のspan / divタグを使用して、jQueryで最も近いDOM要素を取得して特定の行オフセットを取得することができます。textareaは、その種のブロックレベルの選択には実際には最適ではないため、あなたが探していることに対して最善のアプローチになるとは思いません。

于 2012-05-10T22:33:48.243 に答える