# CodeCompletion question

**URL:** https://forum.alternetsoft.com/t/codecompletion-question/468
**Category:** AlterNET Studio Support
**Created:** [August 5, 2024, 9:45pm UTC](https://forum.alternetsoft.com/t/codecompletion-question/468 "2024-08-05T21:45:27Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![taylor](https://forum.alternetsoft.com/letter_avatar_proxy/v4/letter/t/606060/32.png) [@taylor](https://forum.alternetsoft.com/u/taylor)
#### Post date: [August 5, 2024, 9:45pm UTC](https://forum.alternetsoft.com/t/codecompletion-question/468/1 "2024-08-05T21:45:27Z")

</div>

Is there an event fired when the user selects an entry from the listmembers window shown during codecompletion? I have a custom situation where I want to prevent the insertion of the field/member and perform another task based on the entry.

Thanks

---

<div class="post-metadata">

### Author: ![dmitry.medvedev](https://forum.alternetsoft.com/user_avatar/forum.alternetsoft.com/dmitry.medvedev/32/27_2.png) [@dmitry.medvedev](https://forum.alternetsoft.com/u/dmitry.medvedev)
#### Post date: [August 6, 2024, 6:53am UTC](https://forum.alternetsoft.com/t/codecompletion-question/468/2 "2024-08-06T06:53:11Z")

</div>

Hi Roger,

You can either handle ListMembers.ClosePopup like this:

```auto
        public class MyParserWithCodeCompletion : SyntaxParser
        {
            public MyParserWithCodeCompletion()
            {
                Options = SyntaxOptions.CodeCompletion;
            }

            public override void CodeCompletion(string text, StringItemInfo[] textData, Point position, CodeCompletionArgs e)
            {
                CodeCompletionType completionType = GetCompletionType(e, textData, position);
                switch (completionType)
                {
                    case CodeCompletionType.CompleteWord:
                    case CodeCompletionType.ListMembers:
                        var members = new ListMembers();
                        var member = members.CreateListMember();
                        member.Name = "myFunc";
                        members.Add(member);
                        member = members.CreateListMember();
                        member.Name = "myVar";
                        members.Add(member);
                        e.Provider = members;
                        e.NeedShow = true;
                        e.ToolTip = false;
                        members.ClosePopup += Members_ClosePopup;
                        break;
                }
            }

            private void Members_ClosePopup(object sender, ClosingEventArgs e)
            {
                e.Accepted = false;
            }

```

Kind regards,  
Dmitry
