question

Upvotes
Accepted
0 0 0 0

Refinitiv Data Library for .Net in a Windows Form application

Hi everyone,

I am using Refinitiv Data Library for .Net with C#, connecting to a Desktop application on Eikon.

I successfully compiled the library examples and they all work nicely.

All the examples are based on Console mode whilst I do need to write a Windows form application.

Can anyone provide an example as a complete Visual Studio solution files ?

Thanks in advance.

refinitiv-dataplatform-eikon#technology.net
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Hello @tiziano.barban

Thank you for your participation in the forum. Is the reply below satisfactory in resolving your query?


If so please can you click the 'Accept' text next to the appropriate reply? This will guide all community members who have a similar question.

Thanks,


AHS

Please be informed that a reply has been verified as correct in answering the question, and has been marked as such.

Thanks,
AHS

Upvote
Accepted
17.4k 82 39 63

Hi @tiziano.barban

No problem. All you need to add is the "Refinitiv.Data.Content" package from NuGet - basically the same as what you see in the example packages. Note: this is presently a "prerelease" so ensure you click the "Include prerelease" when you browse for NuGet packages.

Here is the .csproj I created:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>WinExe</OutputType>
    <TargetFramework>net6.0-windows</TargetFramework>
    <Nullable>disable</Nullable>
    <UseWindowsForms>true</UseWindowsForms>
    <ImplicitUsings>enable</ImplicitUsings>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Refinitiv.Data.Content" Version="1.0.0-beta5" />
  </ItemGroup>

</Project>
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvote
17.4k 82 39 63

Hi @tiziano.barban

There is no example readily available specific to a Windows form application. However, I just quickly mocked up one with VS 2022. I would suggest you create a basic "Windows Forms App". After I did this, I created a simple UI:

1700491121280.png

The code behind looks like this:

 public partial class Form1 : Form
    {
        private ISession _session;

        public Form1()
        {
            InitializeComponent();
        }

        private async void button1_Click(object sender, EventArgs e)
        {
            if (_session is null)
            {
                _session = DesktopSession.Definition().GetSession().OnState((state, msg, s) =>
                                                            Debug.WriteLine($"{DateTime.Now}: State: {state}. {msg}"))
                                                        .OnEvent((eventCode, msg, s) =>
                                                            Debug.WriteLine($"{DateTime.Now}: Event: {eventCode}. {msg}"));

                var state = await _session.OpenAsync();
                if (state == Session.State.Opened)
                {
                    button1.Enabled = false;
                    button2.Enabled = true;
                }
            }
        }

        private async void button2_Click(object sender, EventArgs e)
        {
            var request = Search.Definition().View(Search.View.SearchAll)
                                 .Query("CEO Apple")
                                 .Select("DocumentTitle, DTSubjectName, BondType, DTSimpleType, DTCharacteristics");

            var response = await request.GetDataAsync();
            if (response.IsSuccess)
            {
                Debug.WriteLine($"Received a total of {response.Data.Total} hits");
            }
        }
    }

The application simply opens a session with the desktop. Once opened, you can request for some simple data. Output will appear in the debug window.


Hope this helps.


1700491121280.png (8.0 KiB)
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
0 0 0 0

That's really great, but could you please explain in detail which package/library should I add to the project or, best of all, could you please share the .csproj file so that I can use it ?

Thanks in advance.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.