ফর্মটি লোড হলে কীভাবে পাঠ্যবক্সে ফোকাস রাখবেন?


156

আমার সি # প্রোগ্রামের পাঠ্যবক্সে আছে

আমার দরকার যে প্রোগ্রামটি শুরু হওয়ার সাথে সাথে ফোকাসটি পাঠ্যবক্সে থাকবে

আমি ফর্ম_লড এ চেষ্টা করে দেখি:

MyTextBox.Focus();

কিন্তু এটি কাজ করবে না

উত্তর:


341

ActiveControlফর্মের সম্পত্তি সেট করুন এবং আপনার ভাল হওয়া উচিত।

this.ActiveControl = yourtextboxname;

1
আমি এই চেষ্টা ComboBox। তবে এটিও কাজ করে না!
অ্যালেক্স জোলিগ

1
ধন্যবাদ এটি আমার জন্য কাজ করেছিল যেখানে অন্য সব কিছুই হয়নি। ট্যাব সূচক = 0 কেন কাজ করবে না তা নিশ্চিত নয় তবে ফর্মটি লোড করার সময় / ডায়ালগটি দেখানোর সময় সম্ভবত অদ্ভুত ক্রিয়াকলাপ চলছে।
ডেভিড ক্যারিগান

1
এটি ব্যবহার করে >>> এটি cএকটিভ কন্ট্রোল = yourtextboxname.Control;
পোলামিন সিংহসউইচ

3
এটি দুর্দান্ত কাজ করে, তবে কেন MyTextBox.Focus();কাজ করল না - প্রোগ্রামটি চালু হওয়ার পরে মনে হয় এটি ঠিক কাজ করে।
লেভন

2
লিখুন this.ActiveControl = textBox1;প্রত্যেকে "পাঠ্যবক্স 1" এর অর্থ বোঝে। "youttextboxname" শোনাচ্ছে... = "MyTextBox";
বিটারব্লিউ

25

আপনার ট্যাব অর্ডার পরীক্ষা করে দেখুন এবং নিশ্চিত করুন যে পাঠ্যবক্সটি শূন্যে সেট করা আছে


কাজ। অথবা কেবল ট্যাবডেক্স হ'ল ফর্মের প্রথম কার্সার "ফোকাসযোগ্য" উপাদান।
apincik

15

আপনি চেষ্টা করতে পারেন:

MyTextBox.Select ();

ডকুমেন্টেশন অনুযায়ী:

যদি কন্ট্রোলের সিলেকটেবল স্টাইল বিটটি কন্ট্রোলস্টাইলগুলিতে সত্য সেট করা থাকে তবে নির্বাচন পদ্ধতিটি সক্রিয় করে, এটি অন্য একটি নিয়ন্ত্রণে রয়েছে এবং এর সমস্ত প্যারেন্ট নিয়ন্ত্রণগুলি দৃশ্যমান এবং সক্ষম উভয়ই রয়েছে।

MyTextBox.CanSelect সম্পত্তিটি পরিদর্শন করে আপনি নিয়ন্ত্রণটি নির্বাচনযোগ্য হতে পারে কিনা তা প্রথমে পরীক্ষা করতে পারেন ।


15

যদি কোনও নিয়ন্ত্রণ রেন্ডার না করা হয় তবে আপনি ফোকাস সেট করতে পারবেন না। নিয়ন্ত্রণগুলি রেন্ডার হওয়ার আগে ফর্ম.লুড () ঘটে।

ফর্মের ইভেন্টগুলিতে যান এবং "দেখানো" ইভেন্টটিতে ডাবল ক্লিক করুন। ফর্মের প্রদর্শিত ইভেন্টের হ্যান্ডলারটিতে নিয়ন্ত্রণটি কল করুন F ফোকাস () পদ্ধতি।

    private void myForm_Shown(object sender, EventArgs e)
    {
        // Call textbox's focus method
        txtMyTextbox.Focus();
    }

12

আপনি যদি প্রথমবার ফর্মটি প্রদর্শিত হয় কেবল ফোকাস সেট করতে চান তবে ফর্মটি হ্যান্ডল করার চেষ্টা করুন event ইভেন্টটি দেখান এবং সেখানে এটি করার চেষ্টা করুন । অন্যথায় কন্ট্রোল.ভিজিবল চেঞ্জড ব্যবহার করুন ।


6

Textbox.Focus()পাঠ্যবক্সের উপাদানটিতে ফোকাস সেট করার জন্য "চেষ্টা"। উপাদান ক্ষেত্রে দৃশ্যমানতা লুকানো যেমন উদাহরণস্বরূপ, Focus()কাজ করবে না। সুতরাং কল করার আগে নিশ্চিত হয়ে নিন যে আপনার উপাদানটি দৃশ্যমান Focus()


5

আপনি এটি কাজ করতে না পারার কারণটি Loadহ'ল ফর্মটি আঁকানো বা রেন্ডার করার আগে ইভেন্টটি বলা হয়।

এটি আপনার পিজ্জা কীভাবে তৈরি করা যায় তা পিজার জায়গার বলার মতো, এবং তারপরে আপনার পিজ্জা তৈরির আগে কী পরিমাণ পেপারোনি রয়েছে তা আপনাকে একটি ছবি পাঠাতে বলে।

using System;
using System.Windows.Forms;

namespace Testing
{
    public partial class TestForm : Form
    {
        public TestForm()
        {
            InitializeComponent();

            Load += TestForm_Load;

            VisibleChanged += TestForm_VisibleChanged;

            Shown += TestForm_Shown;

            Show();

        }

        private void TestForm_Load(object sender, EventArgs e)
        {
            MessageBox.Show("This event is called before the form is rendered.");
        }

        private void TestForm_VisibleChanged(object sender, EventArgs e)
        {
            MessageBox.Show("This event is called before the form is rendered.");
        }

        private void TestForm_Shown(object sender, EventArgs e)
        {
            MessageBox.Show("This event is called after the form is rendered.");
            txtFirstName.Focus();
        }
    }
}

4

আমি টেক্সটবক্সের "ট্যাবআইন্ডেক্স" বৈশিষ্ট্য পরিবর্তন করে আমার সমস্যার সমাধান করেছি। আমি পাঠ্যবক্সের জন্য 0 সেট করেছিলাম যা প্রোগ্রামটি শুরু হওয়ার পরে আমি ফর্মটিতে এটি ফোকাস করতে চাই।



3

ট্যাব সূচকের বৈশিষ্ট্যের মান = 0 সেট করুন এবং তারপরে ফর্ম লোড ফাংশনে লিখুন:

YourTextboxName.Focus();

এটা কাজ করবে।


2

আপনি টেক্সটবক্স সেটিংয়ে textBox1.select();বা ট্যাবআইন্ডেক্স ব্যবহার করতে পারেন । TabIndex=0প্রথম কেন্দ্রীভূত।


যদি আমরা টেক্সটবক্স 1.সিলিট () নির্বাচন করি; ফর্ম লোড ইভেন্ট হ্যান্ডলারটিতে এটি পাঠ্যবক্স 1-এ ফোকাস সেট করে।
তুষার আর।

1

আপনার নিয়ন্ত্রণের জন্য প্রয়োজনীয় নিয়ন্ত্রণের সর্বনিম্ন ট্যাবস্টপটিকে সত্য এবং ট্যাবআইন্ডেক্সে সেট করুন।

উদাহরণস্বরূপ, যদি আপনার কাছে 2 টেক্সটবক্স: টেক্সটবক্স 1 এবং পাঠ্যবক্স 2 রয়েছে তবে ট্যাবস্টপকে সত্য এবং ট্যাবআইন্ডেক্স উভয়ের জন্য যথাক্রমে 0 এবং 1 তে সেট করুন। ফর্মটি লোড হয়ে গেলে, ফোকাস পাঠ্যবক্স 1 এবং 'ট্যাব' কী টিপে হবে, ফোকাসটি টেক্সটবক্স 2 এ চলে যাবে।


1

আপনার ফর্মটিতে, বৈশিষ্ট্যে যান এবং নিশ্চিত হন যে "টপমস্ট" সম্পত্তিটি সত্য হিসাবে সেট করা আছে, এটি আপনার সমস্যার সমাধান করবে।



0

অবশেষে আমি যে সমস্যাটি মেট্রো কাঠামোটি ব্যবহার করছি তা পেয়েছি এবং আপনার সমস্ত সমাধান মেট্রো টেক্সটবক্সের সাথে কাজ করবে না এবং আপনার সমস্ত সমাধানগুলি সাধারণ পাঠ্যবক্সে লোড, শো, দৃশ্যমানতা, পরিবর্তন, ইভেন্ট এমনকি ট্যাব সূচক = 0 এর সাথে কার্যকর হবে।

   // private void Form1_VisibleChanged(object sender, EventArgs e)
   // private void Form1__Shown(object sender, EventArgs e)
    private void Form1_Load(object sender, EventArgs e)
    {

        textBox1.Select();
        this.ActiveControl=textBox1;
        textBox1.Focus();
    }

-5

Jquery সেট ফোকাস

$(function() {
  $("#txtBox1").focus();
});

বা জাভাস্ক্রিপ্ট আপনি করতে পারেন

window.onload = function() {
  document.getElementById("txtBox1").focus();
};

4
এই ওয়েব সাইটে প্রশ্নের জন্য একটি ভাল উত্তর হতে পারে, কিন্তু এই এক ছাগু ট্যাগ করা হয় c#এবং winforms
বেন ভয়েগট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.